C 程序设计练习题一 一、选择题 1.以下选项中属于 C 语言的数据类型是( B )。 A. 复合型 B. 双精度型 C. 逻辑型 D. 集合型 2.以下说法中正确的是( C )。 A. C 语言程序总是从第一个函数开始执行 B. 在 C 语言程序中,要调用的函数必须在 main()函数中定义 C. C 语言程序总是从 main()函数开始执行 D. C 语言程序中的 main()函数必须放在程序的开始部分 3.选出下列标识符中不是合法的标识符的是( D )。 A. hot_do B. cat1 C. _pri D. 2ab 4.下列描述中不正确的是( C )。 A. 字符型数组中可能存放字符串。 B.可以对字符型数组进行整体输入、输出。 C.可以对整型数组进行整体输入、输出。 D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。 5.若已定义:int a[9], *p=a;并在以后的语句中未改变 p 的值,不能表示 a[1]地址的表达式为( C )。 A. p+1 B. a+1 C. a++ D. ++p 6.定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句 for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是( C ) A. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 9 7.表达式:10!=9 的值是( D )。 A. true B. 非零值 C. 0 D. 1 8.若有说明: int i,j=7, *p=&i;, 则与 i=j; 等价的语句是( B )。 A. i= *p; B. *p=j; C. i=&j; D. i=* *p; 9.在 C 程序中有如下语句:char *func(int x,int y); 它是( C )。 A. 对函数 func 的定义。 C.对函数 func 的原型说明。 B. 对函数 func 的调用。 D. 不合法的。 10.以下程序的输出结果是( D )。 char str[15]=”hello!”; printf(“%d\n”,strlen(str)); A. 15 B. 14 C. 7 D. 6 11.若有如下定义,则( D )是对数组元素的正确的引用。 int a[10] , *p ; p=a ; A. *&a[10] B. a[11] C. *(p+10) D. *p 12.以下不能正确定义二维数组的语句是( D ) A . int a[2][2]={{1},{2}}; B. int a[][2]={1,2,3,4}; C. int a[2][2]={{1},2,3}; D. int a[2][]={{1,2},{3,4}}; 13.设变量定义为 int a[3]={1,4,7},*p=&a[2], 则*p 的值是( C )。 A. &a[2] B. 4 C. 7 D. 1 14.能正确表示 a 和 b 同时为正或同时为负的逻辑表达式是(D )。 A.(a>=0||b>=0)&&(a<0 ||b<0) B.(a>=0 && b>=0)&&(a<0 && b<0) C.(a+b>0) &&(a+b<=0) D. a*b>0 15.C 语言中,合法的字符型常数是___A______。 A.‘A’ B.“A” C. 65 D. A 16.设有数组定义:char array[]=”China”; 则数组所占的空间是__C______。 A.4 个字节 B.5 个字节 C.6 个字节 D.7 个字节 17.若变量 c 为 char 类型,能正确判断出 c 为小写字母的表达式是___D____。 A.’a’<=c<=’z’ B. (c>=’a’) || (c<=’z’) C.(‘a’<=c) and (‘z’>=c) D. (c>=’a’) && (c<=’z’) 18.设有定义:long x=-123456L; 则以下能够正确输出变量 x 值的语句是__B_____。 A.printf(“x=%d\n”,x) B.printf(“x=%ld\n”,x) C.printf(“x=%8dl\n”,x) D.printf(“x=%LD\n”,x); 19.指出下面正确的输入语句______B____。 A.scanf(“a=b=%d”,&a,&b); B. scanf(“%d,%d”,&a,&b) ; C.scanf(“%c”,c) ; D. scanf(“% f%d\n”,&f) ; 20.C 语言中以追加方式打开一个文件应选择_____D__________参数。 A.“r” B.“w” C.“rb” D.“a” 21.设 a 为整型变量,初值为 12,执行完语句 a+=a-=a*a 后,a 的值是( B )。 A. 552 B. 144 C .264 D. -264 22.下列标识符中,不能作为合法的 C 用户定义标识符的是( B )。 A. a3_b3 B. void C. _123 D. IF 23.下列整数值中,不正确的八进制或十六进制数值常量是( C )。 A. 0xcd B. -017 C. 019 D. 0xfdc 24.在 C 语言中,if 语句后的一对圆括号中,用以决定分支流程的表达式为( D )。 A. 只能是逻辑表达式 B.只能是关系表达式 C. 只能是逻辑表达式或关系表达式 D.可以是任意表达式 25.以下程序的输出结果为( B )。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’: case ‘e’:printf("ok,"); default: printf("end"); } } } A. a,ok,end B. a,ok,endend C. a,ok,end,end D. a,ok,ok 二、判断对错, 1.在 Turbo C 中,实型数据在内存中占 4 个字节。( √ ) 2.若有数组定义:int a[10];则则 a++是合法的表达式。( × ) 3.若有宏定义:#define PI 3.14i5926define PI 3.14i5926,则系统预编译时会报错。( × ) 4.函数的递归调用不过是一个函数直接地调用它自身。( √ ) 5.定义在 main 函数后的任何函数都需在 main 中进行函数声明。( × ) 6.若有定义:int a;则则 scanf(“%d",a);可以给变量 a 赋值。( × ) 7.任何数组在使用前必须先定义。( √ ) 8.被 main 函数调用的函数只能是库函数。( X ) 9.共用体变量的各个成员所占内存单元的地址相同。( √ ) 10.在使用缓冲文件系统时,与文件输入和输出相关的数据都先送到缓冲区中。( √ ) 11. C 语言源程序通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。 ( √ 12.在 C 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。( X 13.在 C 程序中, APH 和 aph 代表不同的变量。( √ ) ) 14.表达式 0195 是一个八进制整数。( X ) 15.表达式 _ya 是不合法的 C 语言标识符。( X) 16.C 程序总是从 main( ) 函数的第一条语句开始执行的。 17.a-=7 等价于 a=a-7。 ( √ (√ ) ) 18.利用 fclose 函数关闭已打开的文件。( √ ) 19.数组名可以作为参数进行传递。( √ ) 20.执行 printf("%x",12345);, 输出 12345 。( X ) 21.从循环体中退出只能使用 goto 语句。 ( X ) 22.假设有 int a[10], *p; 则 P=&a[0]与 p=a 等价。 ( √ 23.C 语言中数据类型只有整型、实型和字符型。 ( X 24.C 语言的数组下标从 1 开始。 ( X ) ) ) 25.在 C 语言中定义一个文件指针的方法为:FILE *fp; 。 ( √ 三、阅读程序,写出运行结果 1.int x=6, y=7; printf(“%d,”,x++); printf(“%d\n”,++y); 程序的输出结果是 6,8 。 2.float f=3.1415927; printf(“%5.4f,%3.3f”,f,f); 则程序的输出结果是 3.1416,3,142 。 3.a=3; a+=(a<1)?a:1; printf(“%d”,a); 结果是 4 。 4.main( ) { int a[5]={2,4,6,8,10},*p; ) ) p=a; printf("%d,",*(p++)); printf("%d\n",*(p+2)); } 程序的输出结果是 2,8 。 5.main( ) { int i=29,j=6,k=2,s; s=i+i/j%k-9; printf(“s=%d\n”,s); } 程序的输出结果是 S=20 。 6. 6.以下程序的输出结果为( )。 8,10 main( ) { int i=010,j=10,*pi,*pj; pi=&i; pj=&j; printf("%d,%d\n",*pi,*pj); } 7. 7. 以下程序的输出结果是( ) abc main() { char s1[20]=“abc”,s2[20]=“123”; if(strcmp(s1,s2)>0) printf(“%s\n”,s1)); else printf(“%s\n”,s2); } 8. 8. 以下程序的输出结果为( 5 4 8 2 0 )。 #define PI 3.14i5926include "stdio.h" main() { int i,j,a[]={0,2,8,4,5}; printf("\n"); for(i=1;i<=5;i++) { j=5-i; printf("%2d",a[j]); } } 9. 以下程序的输出结果为( 1 3 3 1 #define PI 3.14i5926define N 7 main() { int i,j,a[N][N]; for(i=1;i<N;i++) )。 { a[i][i]=1; a[i][1]=1; } for(i=3;i<N;i++) for(j=2;j<=i-1;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for(j=1;j<=4;j++) prin

doc文档 C程序设计

资格考试 > 计算机类 > 职称计算机 > 文档预览
22 页 1 下载 508 浏览 3.0分
温馨提示:如果当前文档出现乱码或未能正常浏览,请先下载原文档进行浏览。
C程序设计 第 1 页 C程序设计 第 2 页 C程序设计 第 3 页 C程序设计 第 4 页 C程序设计 第 5 页
下载文档到电脑,方便使用
还有 17 页可预览,继续阅读
本文档由 woyaoziliao 于 2021-03-21上传分享
相关精品文档