printf(\
A. 字符串中有非法字符 B. \\\
C. \51. 表达式strcmp(\,\的值是一个( )
A.正数
B.负数
C.0
D.不确定的数
52. 已知int a[]={1,2,3,4,5,6},*p=a+2;则p[2]的值是( )
A.3
B.4
C.5
D.6
53.若有定义:int a[8],*p;则与p=a;等价的语句是 ( )
A.p=&a[0]; B.p=a[0]; C.p=*a; D.*p=&a; 54. 若有定义:int i=10,j=20,*p=&i,*q=&j; p=q; 则执行输出的结果是( ) printf(\
A. 10 20 B. 20 20 C. 10 10 D.20 10 55.有语句char s[]=\则printf(\的输出结果是( )
A.E
B.G
C.I
D.K
56.C语言中可以处理的文件类型是( )
A.文本文件和数据文件 C.数据文件和二进制文件
B.文本文件和二进制文件 D.任何类型文件
57. 定义int x=10,y=20; 执行printf(\的结 果是( )
A. 10, 20 B. 11, 20 58. 语句
printf(\ 执行的结果是( ) A. -1 -1 -1
B. 0 -1 -1 C. 0 0 -1
D. 0 0 0
59. 下列语句判别变量x、y大小,若x C. if (x A.auto 61. 对于语句for(i=0; ; i++) printf(\可理解为( ) A. 条件恒为真 B. 条件恒为假 C. 错误表达式 D.该循环不会被执行 第 6 页 共 6 页 C. 10, 19 D. 11, 19 ++x||++y&&++z; int x= -1, y= -1, z= -1; B.static C.extern D. register 62. 下列程序段中,功能与其它程序段不同的是( ) A. for(i=1,s=0;i<=10;i++) s+=i; B. i=1;s=0;do {s+=i;i++;} while(i<=10); C. for(i=1;i<=5;){s=1; s+=i; i++;} D. i=1;s=0;while(i<=10){s+=i; i++;} 63. 定义函数:int add(int a,int b){ return (a+b);}并将其放在调用语句之后,则在调用之前应该声明,以下选项中错误的声明是( ) A. int add(int a,b); B. int add(int,int); C. int add(int a,int b); D. int add(int x,int y); 64 .以下一维数组的定义正确的是( ) A. int a[10+20] B. int x=10, a[x]; C.int a[5.0] D.int a[i=10] 65. 有结构定义如下,则用p对成员变量sex的引用正确的是( ) struct student { int stu_num; char name[10]; char sex; int score; }*p; A.p->sex B.(*p)->sex C.p.sex D.(&p)->sex 66. 下面对数组赋初值错误的是( ) A. int a[]={1,2,3,4} B. int a[5]={0,1,2,3,4,5} C. int a[2][3]={1,2,3,4,5,6} D. int a[2][3]={{1},{2}} 67. 以下能正确进行字符串赋值的是( ) A. char *sp; *sp=\B. char s[10]; s=\C. char s[10]; *s=\D. char *sp=\68.能判断字符串s1是否与字符串s2相等的是( ) A. if(s1=s2) B. if(s1==s2) C. if(strcmp(sl,s2)=0) D. if(strcmp(s1,s2)==0) 69.定义int x; 经过下列( )语句后,执行赋值语句*p=8;可将x值置为8 A. int p=x ; B. int *p=x; C. int *p=&x; D. p=x; 70.若文本文件f1.txt中原有内容good,则运行以下程序后,文件f1.txt中的 内容为( ) main() { FILE *fp1; fp1=fopen(\ fprintf(fp1, \ fclose(fp1); } 第 7 页 共 7 页 A.goodabc 71.定义FILE *fp; 以“只写”方式打开文件C:\\aa.dat的正确语句是( ) A. fp=fopen(\B. fp=fopen(\C. fp=fopen(\72.以下选项中能作为合法常量的是( ) A. 1.234e4.0 B. '\\\\' C. 0128 D. 'Visual C++' 73. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A. 必须为字母 B. 必须为下划线 C. 必须为字母或下划线 D. 可以是字母、数字和下划线中任一种字符 74.以下选项中值为1的表达式是( ) A. 1-'0' B. 1-'\\0' C. '1'-0 D. '\\0'-'0' 75.设char ch;,表示ch是小写字母的表达式是( ) A. 'a'≤ch≤'z' B.'a'<=ch<='z' C.ch>='a' and ch<='z' D.ch>='a'&& ch<='z' 76.下列关系表达式中结果为假的是( ) A. 1!=2 B. 8<=10 C. 4>3>2 D. -1 D. a=b=c=5; 77.以下能正确地定义三个整型变量a,b和c,并赋初值为5的语句是( ) A. int a=b=c=5; B. int a,b,c=5; C. int a=5,b=5,c=5; 果是( ) A. 0 0 0 B. 1 0 0 C. 1 1 0 D. 1 1 1 79. 下列条件语句中,功能与其他语句不同的是( ) A. if(a) printf(\B. if(a==0) printf(\C. if (a!=0) printf(\D. if(a==0) printf(\ 80.若有以下说明和定义语句;引用结构体变量成员的表达式错误的是( ) struct student { int age; char num[8]; }; struct student stu[3]={{20, \\\struct student *p=stu; A. (p++)->num B. p->num C. (*p).num D. stu[3].age 81. C ax2?bx?c语言中,数学表达式,正确的表达方式是( ) abB.abcd C.abc D.abcgood 78.执行int x=0,y=0,z=0; ++x||++y&&++z; printf(\的结 A. (ax*2+bx+c)/a*b B. (ax*x+b*x+c)/ab C. (a*x*x+b*x+c)/a*b D. (a*x*x+b*x+c)/a/b 第 8 页 共 8 页 82.下列关系表达式中结果为真的是( ) A. 1!=2>1 B. 4>3>2 C. 4&&0 D. 4||0 83.下列表达式中结果为假的是( ) A. 1!=2 B. 8<=10 C. (a=2*2)==2 D. x=(1+1)==2 84. 定义char c1=92,c2=92; 则以下表达式中值为零的是( ) A. c1^c2 B. c1&c2 C. ~c2 D. c1|c2 85.定义FILE *fp; 以“只读”方式打开文件C:\\aa.dat的正确语句是( ) A. fp=fopen(\ C. fp=fopen(\D. fp=fopen(\86.执行语句for (int i=1;i<10&&i%2;i++) printf(\将输出( )个*号 A.1 B.4 C.5 D.10 87. C语言源程序要正确地运行,必须有( ) A. printf函数 B. 自定义的函数 C. main函数 D.空函数 88. 有函数定义:void fun(int n, double x) { ?? },若以下选项中的变量 都已正确定义并赋值,则对函数fun的正确调用语句是( ) A. fun(int y,double m); C. fun(y,m); B. k=fun(y,m); D. void fun(y,m); 89.执行int x=-1,y=-1,z=-1; ++x&&++y||++z;后,x、y、z的值分别是_________ A. 0 -1 0 B. 0 0 0 C. -1 -1 0 D. -1 0 -1 二、程序填空 1. 数学表达式 ?b?b2?4ac2a 的C语言表达式形式为 2. 以下程序的运行结果是______________ #include { int x=5,y=10; x+=y; y=x-y; x-=y; printf(\} 3.表示图中坐标轴上阴影部分的正确表达式_____________________________ -4 -1 0 1 3 x 4. 若有定义int a=32,b=12,c=-1;则表达式a*b&&c的运算结果为 5. 函数调用语句fun1(x,(y,z),10,fun2((x-1,y-1))),有______个参数 6. 若有宏定义:#define square(x) x*x 则表达式square(1+2)的值为__ 第 9 页 共 9 页 7. printf(\\2’-‘0’);的输出结果是_____________________ 8. 设int a=3,b=2,c=1; 则表达式(ac?c:(ab?a:b”转换成与其等价的语句是 11.语句int x=4,y=3; 则 printf(\输出的结果是 12.函数strlen(\的值为______________ 13.有定义如下则表达式(++p)-〉n的值为________________ struct { int m,n;}; s[2]={{1,2},{3,4}},*p=s ; 14.有以下语句:int x,y;scanf(\=%d ,y=%d\,&x,&y);为使变量a,b的值分别为 2和3,则输入数据的形式为 15.若有定义:int i,j,k;则表达式(i=3,j=3+i,k=3+j)的值为 三. 阅读程序,写出下列程序的运行结果。 1. main() { int x=5, y=10; printf(\printf(\} 程序的运行结果: 2.main( ) { float num=5.6789; num=(int)(num*100+0.5); //强制转换为整数,并不四舍五入 num=num/100; printf(\ } 程序的输出结果是: 3. main( ) { int x,y,z; x=y=z=-1; ++x&&++y||++z; 第 10 页 共 10 页 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库南工程 C语言复习题题库(答案在最后)(2)在线全文阅读。
相关推荐: