C语言复习题2

合集下载

C语言复习题 (2)

C语言复习题 (2)

C语言复习题一、选择题:1.以下不是C语言的特点的是( B )A.C语言简洁、紧凑 B.能够编制出功能复杂的程序C. C语言可以直接对硬件进行操作 D.C语言移植性好2. 以下不正确的C语言标识符是( D )。

A.ABC B.abc C.a_bc D.ab.c3.一个c程序的执行是从( A ).A.main( )函数开始,直到main( )函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main( )函数开始,直到最后一个函数结束4.以下不正确的语句(设有int p,q)是( D )。

A.P*=3; B.p/=q; C.p十=3; D.p&&=q5.下列四组选项中,均不是C语言关键字的选项是( A ).A.define B.getc C.include D.whileif char sanf gotype printf case pow6.下面四个选项中,均是合法整形常量的选项是( A ).A.160B.-0xcdfC.-01D.-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x7. 下面四个选项中,均是不合法浮点数的选项是( B ).A.160.B.123C.-.18D.-e30.12 2e4.2 123e4 0.234e3 .e5 0.0 1e38. 若有代数式3ae/bc,则不正确的C语言表达式是( C )A.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*39. 若以下变量均是整形,且num=sum=7;则计算表达式sUM=num++,sUM++,++num后sum 的值为(A ).A.7B.8C.9D.1010.若有定义:int a=7; float x=205 ,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是( A )。

A.2.500000B.2.750000C.3.500000D.0.00000011. s izeof(float)是( B )。

1计算机科学与技术专业本科班C语言程序设计期末复习题2

1计算机科学与技术专业本科班C语言程序设计期末复习题2

1计算机科学与技术专业本科班C语言程序设计期末复习题2《C语言程序设计》一、单项选择题(每小题2分,共60分)1、在VC 6.0环境中用RUN命令运行一个C程序时,实际所运行的程序的后缀是:A).CPP B) .C C) .OBJ D).EXE2、结构化程序设计所规定的三种基本控制结构是A) 输入、处理、输出B) 树形、网形、环形C) 顺序、选择、循环D) 主程序、子程序、函数3、以下正确的整型常量是:A) 16. B) -26 C) 1,000 D) 3 5 74、已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\101’是A) 字符A B)字符a C)字符e D)非法的常量5、以下有4组用户标识符,其中合法的一组是A) For B) 4d C) f2_G3 D) WORD-sub DO IF voidCase Size abc define6、以下非法的赋值语句是A) n=(i=2,++i); B)j++; C) ++(i+1); D)x=j>0;7、C语言中运算对象必须是整型的运算符是:A) % B) / C) ! D) **8、设 a、b、c、d、m、n均为 int型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式 (m=a>b)&&(n=c>d)运算后,n的值位为A) 0 B) 1 C)2 D) 39、C语言中,字符(Char)型数据在微机内存中的存储形式是:A) 反码 B) 补码 C) EBCDIG 码 D) ASCII码10、以下叙述正确的是:A) C语言总是从第一个定义的函数开始执行B) 在C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分11、若已定义int型的三个量a、b、c,则以下正确的输入语句是:A) read(a,b,c); B) scanf("%d%d%d",a,b,c);C) scanf("%D%D%D",&a,%b,%c); D) scanf("%d%d%d",&a,&b,&c);12、以下叙述中正确的是A) C程序中注释部分可以出现在程序中任意合适的地方B) 花括号“{”和“}”只能作为函数体的定界符C) 构成C程序的基本单位是函数,所有函数名都可以由用户命名D) 分号是C语句之间的分隔符,不是语句的一部分13、以下数组定义中不正确的是A) int a[2][3];B) int b[][3]={0,1,2,3};C) int c[100][100]={0};D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}};14、有以下程序fun(int x, int y, int z){ z=x*x+y*y; }main(){ int a=31;fun(5,2,a);printf(“%d”,a); }程序运行后的输出结果是A) 0 B) 29 C) 31 D) 无定值15、有以下程序main(){ char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf(“%d”,*--p); }程序运行后的输出结果是A) 非法 B)a[4]的地址C)5 D)316、有以下程序#define M(x,y,z) x*y+zmain(){ int a=1,b=2, c=3;print f(“%d\n”, M(a+b,b+c, c+a)); } 程序运行后的输出结果是A) 19 B) 17 C) 15 D) 1217、有以下程序main(){ int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);< p="">printf("%d,%d\n",k,m); }程序运行后的输出结果是A) 0,0 B) 0,1 C) 1,0 D) 1,118、有以下程序main(){ int a=3,b=4,c=5,d=2;if(a>b)if(b>c)printf("%d",d++ +1);elseprintf("%d",++d +1);printf("%d\n",d); }程序运行后的输出结果是A) 2 B) 3 C) 43D) 44 19、与数学式子123 x nx 对应的C 语言表达式是A) 3*x^n(2*x-1) B) 3*x**n(2*x-1)C) 3*pow(x,n)*(1/(2*x-1)) D) 3*pow(n,x)/(2*x-1)20、若变量c 为char 类型,能正确判断出c 为小写字母的表达式是A) ‘a’<=c<= ‘z’ B) (c>= ‘a’)||(c<= ‘z’)C) (‘a’<=c)and (‘z’>=c) D) (c>= ‘a’)&&(c<= ‘z’)21、有以下程序main(){ char a[ ]={‘a’,‘b’,‘c’,‘d’, ‘e’, ‘f’, ‘g’,‘h’,‘\0’};int i,j;i=sizeof(a); j=strlen(a);printf(“%d,%d \b”i,j); }程序运行后的输出结果是A )9,9B )8,9C )1,8D )9,822、有以下程序#includemain(){ char *p=“abcde\Ofghjik\0”;printf(“%d \n”,strlen(p)); }程序运行后的输出结果是A) 12 B) 15 C) 6 D) 523、以下叙述中不正确的是A )C语言中的文本文件以ASC Ⅱ码形式存储数据B )C语言中对二进制文件的访问速度比文本文件快C )C语言中,随机读写方式不适用于文本文件D )C语言中,顺序读写方式不适用于二进制文件24、设有如下定义:struck sk{ int a;float b;}data;int *p;若要使P 指向data 中的a 域,正确的赋值语句是A) p=&a B) p=data.a; C) p=&data.a D) *p=data.a;25、有以下程序main(){ char *s[]={"one","two","three"},*p;p=s[1];printf("%c,%s\n",*(p+1),s[0]); }执行后输出结果是A) n,two B) t,one C)w,one D) o,two26、以下选项中,与k=n++完全等价的表达式是A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+127、有如下程序main(){ int i,sum;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum); }该程序的执行结果是A) 6 B) 3 C) 死循环 D) 028、有以下程序main(){ int i;for(i=0;i<3;i++)switch(i){ case 1: printf("%d",i);case 2: printf("%d",i);default: printf("%d",i);}}执行后输出结果是A) 011122 B) 012 C) 012020 D) 12029、有如下程序main(){ int x=23;do{ printf(“%d”,x--);}while(!x); }执行后输出结果是A) 321 B) 23 C) 不输出任何内容 D) 陷入死循环30、若有定义:int x,*px; 则正确的赋值表达式是:A) px=&x B) px=x C) *px=&x D) *px=*x二、填空题(每小题2分,共20分1、以下程序段的输出结果是 _______ 。

C语言程序设计复习题 (2)

C语言程序设计复习题 (2)

C\C++程序设计复习题一、选择题1、一个C语言程序总是从( C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定2、以下能正确定义二维数组的是( C )A.int a[][3];B.int a[][3]=2{2*3};C.int a[][3]={};D.int a[2][3]={{1},{2},{3,4}};3、设int x=3,y=4,z=5,则下列表达式中的值为0的是( D )A) …x‟&&‟y‟B) x||y+z&&y-z C) x<=y D) !((x<y)&&!z||1)4、执行以下程序段后,i的值是( C )int i=10;switch(i+1){ case 10: i++; break;case 11: ++i;case 12: ++i; break;default : i=i+1;}A) 11 B) 13 C) 12 D) 145、语句while(!e);中的条件!e等价于( B )A) e==0 B)e!=1 C) e!=0 D) 运行时出错6、下列数据中,为字符串常量的是(B )。

(A)…A‟(B)“house”(C)How do you do.(D)‟$abc‟7、用int a[4]={1,2}; 对数组进行初始化后,数组元素a[3]的值是( B )A) 随机值B) 0 C) 1 D) F8、在执行char str[10]=“china\0”;strlen(str)的结果是( B )A)5 B) 6 D) 7 D 99、若有定义,char *p=”computer”; 则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer10、有以下程序( D )main(){ int i=0,x=0;for (;;){if(i==3||i==5) continue;if (i==6) break;i++;s+=i;};printf("%d\n",s);}程序运行后的输出结果是A.10B.13C.21D.程序进入死循环11、以下定义语句中正确的是( C )A.char a='A'b='B';B.float a=b=10.0;C.int a=10,*b=&a;D.float *a,b=&a;12、设有int x=11;则表达式(x++*l/3)的值为( B )。

C语言复习题 (2)

C语言复习题 (2)

有以下程序#include <stdio.h>void main(){ int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);printf("%d,%d\n",k,m);}程序运行后的输出结果是__C___。

A、0,0B、0,1C、1,0D、1,1 若变量c为char类型,能正确判断出c为小写字母的表达式是__D_____。

A. 'a'<=c<='z'B. (c>='a')||(c<='z')C. ('a'<=c)and('z'>=c)D. (c>='a')&&(c<='z')以下符合C语言语法的实型常量是__C____。

A、1.2E0.5B、3.14159EC、5E-3D、E15 若变量已正确定义,有以下程序段i=0;doprintf("%d, ",i);while(i++);printf("%d\n",i);其输出结果是____B__。

A. 0,0B. 0,1C. 1,1D. 程序进入无限循环若有以下程序段,int c1=1 ,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是____A__。

A、0B、0.5C、1D、2 以下选项中合法的字符常量是__B____。

A、"B"B、'\010'C、68D、D 有以下程序main(){ char a,b,c,d;scanf("%c,%c,%d,%d",&a,&b,&c,&d);printf("%c,%c,%c,%c\n",a,b,c,d);}若运行时从键盘上输入:6,5,65,66↙。

c语言复习题

c语言复习题

c语言复习题一、单项选择题1.以下叙述中错误的是? A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意”C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识2、c语言数据的基本类型包括()A、整型、字符型、实型B、整型、字符型、实型、枚举类型C、整型、实型、枚举类型、指针类型 D、整型、字符型、实型、数组类型3.以下不合法的字符常量是A.’\019’B.’\’’’C.’\\’D.’\xcc’4、c语言允许使用的变量标识符是()A、x#yB、12shC、j_c_tD、char5.设有以下语句。

int a=1,b=2,c;c=a^(b<<2);执行后,c的值为 A.6 B.7 C.8 D.96、c语言中合法的字符常量是()A、‘\084’B、‘\X43’C、‘ab’D、“\0”7.下列标识符中,合法的变量名有? A.a.b B.$888 C.A1 D.3x568、若定义x和y为double型,则表达式:x=1,y=x*3/2的值是()A、1B、2C、 2.0D、1.59、若有以下类型说明语句:char w;int x;float y;double z;则表达式 w*x+z-y的结果为()类型A、floatB、char C 、int D、double10、下列表达式中,()可以正确表示x<=0或x>=1的关系A、(x>1)or (x<=0)B、x>1 || x<=0C、x>1 or x<=0D、x>=1 || x<=011.下列不正确的表达式是A.10%3+5%3B.10/3+5/3C.10%3/2D.(10.0/3.0%3)/212.以下四个选项中,不能看作一条语句的是A.{;}B.a=0,b=0,c=0;C.a>0;D.m=1;n=2;13.设x为int 型变量,则执行以下语句后,x的值为x=10;x+=x-=x-x;A.10B.20C.40D.3014、若定义a为整型数据变量则a=-2 L;printf(“%d\n”,a);以上语句结果为()A、赋值语句不合法B、输出值为-2C、输出值为不确定值D、输出值为215、现已定义整型变量int i=1;执行循环语句“while(i++<5)后i的值变为()A、1B、5C、6D、以上三个答案均不正确16、若执行下述程序时,从键盘输入数据3和4,则程序的输出结果是()main(){ int a ,b ,s;scanf(“%d%d”,&a,&b);s=a;if(a<b)< p="">s=b;s=s*s ;printf(“%d”,s);}A、14 B、16 C、18 D、2017、若数组名作为函数参数传递给函数,作为实参的数组名被处理为()A、该数组的长度 B、该数组的元素个数C、该数组中各元素的值 D、该数组的首地址18、c语言允许函数值类型缺省定义,此时该函数值隐含的类型是()A、float型B、int型C、long型D、double型19、在c语言中,存储类型为()的变量只在使用它们的时候才占用存储空间A、static和autoB、register和autoC、static和registerD、register和extern20、下面程序片段的输出结果是()char str[]=“abcd”,*p=str;printf(“%d\n”,*(p+4));A、68 B、0 C、字符‘d’的地址D、不确定的值21、设有以下说明,已知int类型占2个字节,则下列叙述正确的是()struct st{int a;int b[2];} a;A、结构变量名a和结构成员a同名,不合法B、程序运行时将为结构体st分配6个字节的内存单元C、程序运行时不为结构体st分配内存单元D、程序运行时将为结构体变量a分配6个字节的内存单元22、求字符串长度的函数是()A、strcat B、strcpy C、strcmpD、strlen 23.现已定义整型变量 int i=1;执行循环语句“while(i++<5);”后,i的值为A.1B.5C.6D.以上三个答案均不正确24.以下叙述中错误的是A.C语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序运行D.赋值表达式末尾加分号就构成赋值语句25.设有定义:int a=2,b=3,c=4;时,以下选项中值为0的表达式是A.(!a= =1)&& (!b= =0)B.aC. a&&bD.a||(b+b)&&(c-a)26.C语言中,定义PI为一个符号常量,正确的是A.#define PI 3.14B.define PI 3.14C.#include PI 3.14D.include PI 3.1427.下面关于switch语句和break语句的结论中,只有是正确的A.break语句是switch语句中的一部分B.在swtich语句中可以根据需要使用或不使用break语句C.在swtich语句中必须使用break语句D.以上三个结论中有两个是正确的28.有以下程序:main(){int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf(“%d\n”,s);}程序执行后的输出结果是 A.自然数1~9的累加和 B.自然数1~10的累加和C.自然数1~9中的奇数之和D.自然数1~10的偶数之和29.在C语言函数的定义和引用中,以下描述正确的是A.必须有形式参数B.也可以没有形式参数 C.数组名不能作为形式参数 D.形式参数必须是变量名30.下列关于return语句的说法,正确的是A.必须在每个函数中都出现B.只能在除主函数之外的函数中出现一次C.可以在同一个函数中多次出现D.在主函数和其他函数中都可以出现31.下列说法不正确的是A.形式参数是局部变量B.主函数main 中定义的变量在整个文件或程序中都又效C.在一个函数的内部,可以在复合语句中定义变量D.不同的函数中,可以使用相同名字的变量32.以下叙述正确的是A.do-while语句构成的循环不能用其它语句构成的循环来代替B.do-while语句构成的循环只能用break语句退出C.用do-while语句构成的循环,在while后的表达式为非零时结束循环D.用do-while语句构成的循环,在while后的表达式为零时结束循环33.下列数组定义语句正确的是A.int a[][]={1,2,3,4,5,6};B.char a[2][3]=’a’,’b’C.int a[][3]={1,2,3,4,5,6};D.static int a[][]={{1,2,3},{4,5,6}}; 34.若定义int a[3][4];则下列选项不能表示数组元素a[1][1]地址的是A.a[1]+1B.&a[1][1]C.*(a+1)[1]D.*(a+5)35.已知int 和double类型分别占2个和8个字节,若有如下定义:Struct data{ int i;char ch;double f;}b;则结构变量b占用内存的字节数是 A.7 B.2 C.8 D.1136.对于以下递归函数f,调用f(4),其返回值为int f(int n){ return f(n-1)+n;}A.10 B.11 C.0 D.以上均不是37.有以下程序:main(){int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;printf(“%d\n”,*p+*q);}程序运行后的输出结果是 A.16 B.10 C.8 D.638.C语言中操作文件的正确顺序是A.读写,关闭,打开B.打开,读写,关闭C.打开,关闭,读写D.读写,打开,关闭39.定义union s{int w,x,y,z;char c[6];};,请问执行sizeof(union s)=A.2B.6C.8D.1440.说明语句int *f();中的标识符f代表A.一个用于指向整型数据的指针变量B.一个用于指向一维数组的行指针C.一个用于指向函数的指针变量D.一个返回值为指针型的函数名二、填空题1.设有程序段:int k=10;while(k=0) k=k-1;则循环体语句执行次。

《C语言程序设计》复习题(2)-填空题

《C语言程序设计》复习题(2)-填空题

{ unsigned short x=65536; int y;
printf(“%d\n”, y=x);
} 50. 若有 int x=11; 则表达式 1/3*x++的值为 0 。
51. 执行语句 printf(“%d” , (a=2)&&(b=-2) ); 后的 输出是 1 。
52. 执行下列程序段后, 变量 i 的值是 16 。 int i=10 ; switch (i) { case 9: i+=0; case 10: i+=1; case 11: i+=2; default: i+=3; }
值为 -2 。 27. C语言中 标号 标识符无值、无类型且不需要声
明便可直接使用。 28. 若已声明: int x=1 , z=1 , y=1 , k ;则执行表达式
k=x++||++y&&++z后,变量k,x,y,z的值是 1,2,1,1 。
最小数是: 1000000000000000
29. 若用八进制常量表示C中的int型常1量0 (0160bits0)0
float x=25.0;
fwrite(&x,sizeof(float),1,fp);
48. 若有定义: int b=17; float a=4.5, c=6.5;
则表达式 a+(int)(b/3*(int)(a+c)/2)%4的值为 49. 下列程序执行后的输出结果是 0 。
7.5 。
main( )
是 for 。
35. 若一个函数不需要形式参数 , 则在定义函数时, 应使形式参数表为空或放置一个 void 。

C语言程序设计复习题(选择题)新 2

C语言程序设计复习题(选择题)新 2

第二部分选择题1.假设整型变量a为2,使b的值为0的表达式是( )。

A)b=a/2 B)b=6-(--a) C)b=a%2 D)b=a>3?0:1提示正确答案为C2. 假设x=2.5,a=7,y=4.7,则表达式:x+a%3*(int)(x+y)%2/4的值为()。

A)2.5 B)2.75 C)3 D)9.5 提示正确答案为A3. 假设a=3,b=4,c=5,则逻辑表达式: !(a+b)+c-1&&b+c/2的值是( )。

A)true B)false C)0 D) 1 提示正确答案为D4. 假设所有变量均为整型,则表达式:(a=2,b=5,b++,a+b)的值为()。

A)7 B)8 C)6 D)2 提示正确答案为B5. 设整型变量x的值为5,y的值为2,则值为1的表达式是( )。

A)!(y==x/2) B)y!=x%3 C)x>0&&y<0 D)x!=y||x>=y6.已知a=12,表达式a+=a-=a*=a的值为()。

A)144 B)-12 C)0 D)24 提示正确答案为C6. 在下面C语言的函数说明语句中,正确的是()。

A) int fun(int x, int y);B) int fun(int x,y);C) int fun(x,y);D) int fun(int x; int y); 提示正确答案为A7. 设有整型变量a, 实型变量f,双精度型变量x,则表达式10+'b'+x*f值的类型为( )。

A) int B) float C) double D) 不能确定提示正确答案为C8. 若有int k=5; float x=1.2;则表达式(int)(x+k)的值是()。

A)5 B)6.2 C)7 D)6 提示正确答案为D9. 表达式k=(12<10)?4:1?2:3的值为()。

A) 1 B) 2 C) 3 D) 4 提示正确答案为B10. 下列哪组运算符的优先级相同且运算次序从左到右()。

c语言复习综合练习题

c语言复习综合练习题

一选择题(24分,每小题2分)1.C程序的执行是从一个A.本程序的main函数开始的,到main函数结束B.本程序文件的第一个函数开始,到本文件最后一个函数结束C.本程序main函数开始,到本程序最后一个函数结束D.本程序第一个函数开始,到本程序main函数结束2.以下程序的输出结果为()。

main( ){ int i=010,j=10;printf("%d,%d\n",i++,j--);}A 11,9B 9,10C 8,10D 9,93.设a为int型变量,执行下列赋值语句后,a的取值分别是()。

a=125.534;a=20.0/3;a=(int)125.521%4;a=5<<2;A 125,6,31,1B 125,6,1,20C 125,6.666666,31,20D 125.534,6.666666,2,204.设i和k都是int类型,则for循环语句()。

for(i=0,k=-1;k=1;i++,k++) printf("****\n");A 循环结束的条件不合法B 循环体一次也不执行C 循环体只执行一次D 是无限循环5.C语言规定:在一个源程序中,main函数的位置A.必须在最开始B.必须在系统调用的库函数后面C.可以任意D.必须在最后6.函数调用语句:fseek(fp,-10L,2);的含义是()。

A 将文件位置指针从文件末尾处向文件头的方向移动10个字节B 将文件位置指针从当前位置向文件头的方向移动10个字节C 将文件位置指针从当前位置向文件末尾方向移动10个字节D 将文件位置指针移到距离文件头10个字节处7.以下程序的输出结果为()。

main( ){ char s1[40]="country",s2[20]="side";int i=0,j=0;while(s1[i]!='\0') i++;while(s2[j]!='\0') s1[i++]=s2[j++];s1[i]=0;printf("%s\n",s1);}A sideB countryC sidetryD countryside8.下列说法不正确的是()。

c语言复习题(1~6章) (2)

c语言复习题(1~6章) (2)

注意:超纲题不需要做!1、C语言提供合法的数据类型关键字是( )A)Double B)short C)integer D)Char2、对于下列各字符串,请选取择正确的标识符( )。

A)Boo B)for C)5abc D)I like C3、下列不属于字符型常量的是()A)‘A’B)“B”C)‘\n’ D)‘D’4、下面四个选项中,均是正确的八进制数或十六进制数的选项是。

A)-10 0x8f -011 B) 010 -0x11 0xf1C) 0abc -017 0xc D) 0a12 -0x123 -0xa5、若有定义:int a = 7; float x = 2.5 , y = 4.7 ;则表达式x + a % 3 * (int) (x + y) % 2/4 的值是A) 2.750000 B) 0.00000 C) 3.5000006、已知ch是字符型变量,下面不正确的赋值语句是。

A)ch = 5 + 9; B) ch= ' a + b '; C) ch = ' \ 0 '; D) ch= '7' + '6';7、错误的转义字符是 ( )A)'\091' B)'\\' C)'\0' D)'\''8、设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b--后,a,b和c的值分别是 ( )A)2,1,2 B)2,0,3 C)2,2,3 D)2,1,39、在C语言中,错误的常数是 ( )A)1E+0.0 B)5. C)0xaf D)0L10、下列正确的标识符是:A)12ab B)float C)aw~1e D)b6ty11、对y在[3,23]和[100,200]范围内为真的确表达式为:A)(y>=3)&&(y<=23)&&(y>=100)&&(y<=200)B)(y>=3)||(y<=23)||(y>=100)||(y<=200)C)(y>=3)&&(y<=23)||(y>=100)&&(y<=200)D)(y>=3)||(y<=23)&&(y>=100)||(y<=200)12、在一个C程序中A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置13、8以下能正确地定义整型变量a,b和c并为其赋初值5的语句是A)int a=b=c=5;B)int a,b,c=5;C)int a=5,b=5,c=5;D)a=c=b=5;14、C语言中,long类型的数据占字节数为()A) 1 B) 2 C) 4D) 815、下列为合法的用户标识符为()A) _98B) P#d C) a* D) void16、如果x为float类型变量,则以下语句输出为()x=213.82631;printf(“%4.2\n”,x);A) 宽度不够,不能输出B) 213.82 C) 213.82631 D) 213.8317、在C语言中,合法的字符常量是( )A)'\084' B)'\x43' C)'ab' D)"\0"18、不能正确表示ab除以cd的C语言表达式是()A) a*b/c*d B) a/(c*d)*b C)a*b/c/d D) a*b/(c*d)19、以下不符合C语言语法的赋值语句是(D)A) i++; B) i=i=5; C) k=(2*4,k*4); D) y=float(i);20、若有以下定义:char a; int b;float c; double d;则表达式a*b+d-c值的类型为(D)A) float B) int C) char D) double21、下列程序的输出结果是#include<stdio.h>main(){float x,y;scanf("%f",&x);if(x<0.0)y=0.0;else if((x<5.0)&&(x!=2))y=1.0/(x+2.0);else if(x<10.0)y=1.0/x;else y=10.0;printf("%f\n",y) ; }输入:2.0A)0.000000 B)0.250000 C)0.5000000 D)1.00000022、下列程序的输出结果是main(){int m=5;if(m++>5)printf("%d\n",m);elseprintf("%d\n",m--) ; }A)7 B)6 C)5D)423、下列程序的输出结果是main(){int a=-1,b=1,k;if((++a<0)&&!(b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a); }A)-1 1 B)0 1 C)1 0D)0 024、下列程序的输出结果是main(){int x=100,a=10,b=20,ok1=5,ok2=0;if(a<b)if(b!=15)if(!ok1)x=1;elseif(ok2)x=10;elsex=-1;print("%d\n",x);}A)-1B)0 C)10 D)225、下列程序的输出结果是main(){int a,b,c,x;a=b=c=0;x=35;if(!a) x--;else if(b);if(c)x=3;elsex=4;print("%d\n",x) ; }A)34 B)4C)35 D)326、下列程序的输出结果是2 main(){int a=2,b=-1,c=2;if (a<b)if(b<0)c=0;elsec+=1;printf("%d\n",c) ; }27、下列程序的输出结果是103 main(){int a=-1,b=4,k;k=(a++<0)&&(!(b--<=0));printf("%d%d%d\n",k,a,b) ; } 28、下列程序的输出结果是004 main(){int a=-1,b=4,k;k=(++a<0)&&(!(b--<=0));printf("%d%d%d\n",k,a,b) ; } 29、下列程序的输出结果是#include<stdio.h>main(){int x=1,y=0,a=0,b=0;switch(x){case 1 : switch(y){ case 0:a++;break;case 1:b++;break;}case 2 : a++;b++;break ; }printf("a=%d,b=%d\n",a,b) ; }A)a=2,b=1B)a=1,b=1C)a=1,b=0 D)a=2,b=230、当a的值分别为:1,2,3时,程序的结果是main(){int a;printf("Please enter a=");scanf("%d",&a);switch(a){case 1:printf("*");break;default:print("#");case 2:printf("-") ; } }1:*2:-3:#-31、下列程序运行结果#include<stdio.h>main(){int x=23;doprintf("%2d",x--);while(!x) ; }A)321 B)23C)无D)死循环32、下列程序运行结果#include<stdio.h>main(){int i=0,sum=1;dosum+=i++;while(i<6);printf("%d\n",sum) ; }A)15 B)16C)17 D)1833、下列程序运行结果#include<stdio.h>main(){int xfor (x=3;x<6;x++)printf((x%2)?("**%d"):("##%d\n"),x) ; }A)**3##4B)##3 C)##3**4 D)**3##4**5 **4##5 **5 ##534、下列程序的输出结果是main(){float x,y,z;scanf(%f%f",&x,&y);z=x/y;while(1){if (fabs(z)>1.0){x=y;y=z;z=x/y;}elsebreak; }printf("%f\n",y) ; }输入3.6 2.4回车,则结果为A)1.500000 B)1.600000 C)2.000000 D)2.40000035、下列程序的输出结果是main(){int i=0,a=0;while(i<20){for(;;)if (i%10==0) break; else i--;i+=11;a+=i ; }printf("%d\n",a) ; }A)21 B)32C)33 D)1136、下列程序的输出结果是main(){int u=24,v=16,w;while(v){w=u % v; u=v ; v=w;}printf("%d\n",u); }A)7 B)8C)9 D)1037、假定a和b为int型变量,则执行以下语句后b的值为a=1; b=10;do{ b-=a;a++;}while (b--<0);A) 9 B) -2 C) -1 D) 838、以下程序的输出结果是(超纲)main(){ int i,k,a[10],p[3]:K=5;for (i=0;i<10;i++) a[i]=i;for (i=0;i<3;i++) p[i]=a[i*(i+1)];for (i=0;i<3;i++) k+=p[i]*2;printf("%d\n",k);}A) 20 B) 21 C) 22 D)2339、有以下程序(程序错误)main(){ int i, j;for(j=10;j<11;j++){ for(i=9;i=j-1)printf("%d",j);}}输出结果是A) 11 B) 10 C) 9 D) 10 11。

C语言复习题

C语言复习题
第二章顺序结构程序设计 一、 选择题 1、 以下程序输出结果是:C #include <stdio.h> void main() { int x=10,y=20,z; z=x; x=y; y=z; printf("x=%d,y=%d,z=%d",x,y,z); } A、x=10,y=20,z=10 B、x=20,y=40,z=10 C、x=20,y=10,z=10D、x=10,y=20,z=10 2、 以下程序中,为了使变量 a、b、c 的值分别为数据 3、 A、24.5,则不正确的输入格式是:D #include <stdio.h> void main() { int a; char b; float c; scanf("%d%c%f",&a,&b,&c); } A、 3A<回车>24.5<回车> B、 3A24.5<回车> C、 3A<空格>24.5<回车> D、 3<回车>A<回车>24.5<回车> 3、 以下程序运行结果是:D #include <stdio.h> void main() { int s=10,t=20; ++s; t--; printf("%d\n",t-s); } A、10 B、9C、11 D、8 4、 若定义“double s=123.5” , 则正确输出 s 的值所用的语 句为:D A、printf(“s=%d”,s) B、printf(“s=%ld”,s) C、printf(“s=%f ”,s) D、printf(“s=%lf ”,s) 5、 以下程序输出结果是:B #include <stdio.h> void main() { int x=5,y=10; printf("%d,%d\n",x--,y-x); } A、编译错误 B、5,5 C、4,6 D、4 6 6、 以下选项中不是 C 语句的是:D A、i++; B、; C、{a++; b++;} D、scanf(“%d”,&a) 7、 已有定义语句 “float a=32.7;” , 则能正确执行的语句是: C A、printf(“%3.2f\n”,a); B、scanf(“%3.2f ”,&a); C、printf(“%3.1f\n”,a); D、scanf(“%3.2f ”,&a); 8、 若变量都已正确定义, 则能够实现变量 a 与 b 的值互换 的选项是:C A、a=t;t=b;b=a B、a=b;b=a; C、t=a;a=b;b=t; D、t=a;b=t;a=b; 9、 已知华氏温度转换为摄氏温度的公式为 C=5/9(F-32), 若已定义”float f, c;”,则错误的转换语句为:B A、c=(f-32)*5/9; B、c=5/9*(f-32); C、c=(float)5/9*(f-32); D、c=5.0/9.0*(f-32); 10、 以下程序输出结果是:D #include <stdio.h> void main() { int x=100,y=-100; x%=y-2*x; y%=x-2*y; printf("x=%d,y=%d",x,y); } A、x=0,y=100 B、x=0,y=-100

C语言习题集2

C语言习题集2

C语言习题集一、单项选择题1、C语言提供的合法关键字是_______。

A、AUTOB、includeC、unsignedD、dafault2、合法的C语言标识符是__________。

A、2aB、sumC、defaultD、a+b3、下面四个选项中,不是C语言整型常量的是。

A、01B、0x11C、081D、-327684、下面四个选项中正确的实型常量是。

A、0x12B、-12345.e-3C、Ie0.5D、e-55、若a为整型变量,则下面语句。

a=-2L;printf(“%d\n”,a);A、赋值不合法B、输出值为-2C、输出为不确定值D、输出值为-26、在C语言中,要求参加运算的数必须是整数的运算符是。

A、/B、!C、%D、= =7、字符串“\\012\012”在内存中占用的字节数是个。

A、4B、5C、6D、78、下列说法中,错误的是。

A、变量的定义可以放在所有函数之外B、变量的定义可以不放在本编译单位中,而放在其他编译单位中C、变量的定义可以放在某个函数的函数头中D、变量的定义可以放在某个复合语句的开头9、下列说法中,正确的是。

A、自动型变量是分配在内存的数据区的B、寄存器型变量是分配在内存的数据区中的C、表态型变量是分配在内存的数据区中的D、外部参照型变量是分配在内存的数据区中的10、在C语言中,一个int型数据在内存中占用2个字节,则int型数据的取值范围是。

A、-128~127B、-32768~32767C、0~65536D、0~214748364711、下面不正确的字符串常量的。

A、’abc’B、”12’12”C、”0”D、” ”12、char型常量在内存中存放的是。

A、ASCII代码值B、BCD代码值C、内码值D、十进制代码值13、以下程序段。

int x=2,y=3;printf( x>y ? ”****=%d”: “###y=%d”,x,y);A、输出控制格式错误B、输出为:****x=2C、输出为:###y=2D、输出为:###y=314、以下程序的输出为。

c语言期末复习试卷

c语言期末复习试卷

复习题(一)1。

用高级语言编写的源程序必须通过___________程序翻译成二进制程序才能执行,这个二进制程序称为____________程序。

【答案】编译目标2。

下列符号串中,属于C语言合法标识符的是()①else ②a-2 ③_00 ④00【答案】③3.下列说法中,正确的是()①主函数名是由程序设计人员按照“标识符”的规则选取的②分号和回车符号都可以作为一个语句的结束符号③在程序清单的任何地方都可以插入一个或多个空格符号④程序的执行,总是从源程序清单的第1行开始【答案】③4.-12345E-3代表的十进制实数是________________________.【答案】—12.3455.设字符型变量ch中存放字符“A”,则执行“ch+++2”后,ch中的字符是________。

【答案】B6.设字符型变量ch1中存放的字符是“A",字符型变量ch2中存放的字符是“B”,则执行“!(ch1=’B')&&(ch2='C')”的运算后,变量ch2中的字符是_____________.【答案】B6-1.设整型变量m,n,a,b,c,d均为1,执行“(m=a〉b)&&(n=a>b)”后m,n 的值是()①0,0 ②0,l ③1,0 ④1 ,l【答案】②。

7.设整型变量x1和x2的值均为10,则表达式“x1/=x2-4”的值是_______________. 【答案】l8.在C语言中,如果某个关系表达式成立(真),则该关系表达式的值是____;如果某个逻辑表达式为假,则该逻辑表达式的值是_________.【答案】1 09.设有整型变量x,如果表达式“!x”值为0,则x的值为_________;如果表达式“!x"值为1,则x的值为___________。

【答案】非010.下列表达式中,不属于逗号表达式的是()①a=b,c ②a,b=c ③a=(b,c) ④a,(b=c)【答案】③11.在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构【答案】多分支12.在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。

《C语言》复习题2—带答案

《C语言》复习题2—带答案

《C语言》习题2一、单项选择题1、一个C程序的执行是从()A.main()函数开始,直到main()函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main()函数开始,直到最后一个函数结束2、设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是()A.3 B.0 C.-12 D.93、若有char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是( )。

A.cd\0e B.'c''d' C.cd D.cd e4、执行char str[10]=”Ch\nina”; strlen(str)的值是()A.5 B.6 C.7 D.95、组成C程序的基本单位是()A.函数B.标识符C.表达式D.语句6、设int类型的数据长度为2字节,则该类型数据的取值范围是()A.0至65536 B.0至65535C.-32767至32768 D.-32768至327677、在C语言中,逻辑值“真”是用()表示的。

A.预定义为真值的宏B.非零数C.正数D.非零整数8、C语言对于嵌套if语句规定else总是与()匹配。

A.与最外层的if B.与之前最近的ifC.与之前最近的不带else的if D.与最近的{ }之前的if9、数组定义char a[10]={'`a`,`b`,`c`}:包括了几个元素()A.3 B.9 C.4 D.1010、若有语句scanf(“%d%d”,&a,&b);要使变量a,b分别得到12和34;正确的输入形式为()A.12 34 B.12,34 C.1234 D.12:3411、以下程序的输出结果是()#include<stdio.h>void main(){char s[]="159",*p; p=s;printf("%c",*p++); printf("%c",*p++);}A. 15B. 16C. 12D. 5912、以下程序的输出结果是()。

C语言各章节复习题(带答案) 2

C语言各章节复习题(带答案) 2

一、C语言概述练习题选择1.一个C程序的执行是从。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。

A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。

A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由。

A)一个主程序和若干个子程序组成B) 函数组成 C) 若干过程组成 D) 若干子程序组成5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。

A) C语言程序仅可以编译执行B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对6.以下叙述中错误的是。

A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件7.以下叙述正确的是。

A) C语言程序是由过程和函数组成的B) C语言函数可以嵌套调用,例如:fun(fun(x))C) C语言函数不可以单独编译 D) C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32) A) 4 B) 16 C) 32D) 522.下列四组选项中,均不是C语言关键字的选项是。

全国计算机二级C语言各章节复习题

全国计算机二级C语言各章节复习题

全国计算机⼆级C语⾔各章节复习题第⼀章C语⾔概述略第2章程序的灵魂----算法⼀、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有⼀个选项是正确的,请将正确选项填涂在答题卡相应位置上。

)2.1以下叙述中正确的是A)C语⾔⽐其他语⾔⾼级B)C语⾔可以不⽤编译就能被计算机识别执⾏C)C语⾔以接近英语国家的⾃然语⾔和数学语⾔作为语⾔的表达形式D)C语⾔出现的最晚,具有其他语⾔的⼀切优点正确答案: C2.2 以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在⼀个函数中定义另⼀个函数C)main()函数必须放在其他函数之前D)所有被调⽤的函数⼀定要在调⽤之前进⾏定义声明正确答案: A2.3 以下说法正确的是A)C语⾔程序总是从第⼀个的函数开始执⾏B)在C语⾔程序中,要调⽤函数必须在main()函数中定义C)C语⾔程序总是从main()函数开始执⾏D)C语⾔程序中的main()函数必须放在程序的开始部分正确答案: C2.4 C语⾔规定,在⼀个源程序中,main函数的位置A)必须在最开始B)必须在系统调⽤的库函数的后⾯C)可以任意D)必须在最后正确答案: C2.5 以下叙述不正确的是A)⼀个C源程序可由⼀个或多个函数组成B)⼀个C源程序必须包含⼀个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于⼀条语句的后⾯任意位置正确答案: D2.6 下列叙述中正确的是A)C语⾔编译时不检查语法B)C语⾔的⼦程序有过程和函数两种C)C语⾔的函数可以嵌套定义D)C语⾔的函数可以嵌套调⽤正确答案: D2.7 以下叙述正确的是A)在C程序中,每⾏中只能写⼀条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,⽆论是整数还是实数,都能被准确⽆误地表⽰D)在C程序中,%是只能⽤于整数运算的运算符正确答案: D2.8 以下说法错误的是A)⼀个算法应包含有限个步骤B)在计算机上实现的算法是⽤来处理数据对象的C)算法中指定的操作,不能通过已经实现的基本运算执⾏有限次后实现D)算法的⽬的是为了求解正确答案: C2.9 算法是指为解决某个特定问题⽽采取的确定且有限的步骤,下⾯不属于算法的五个特性的是A)有零个输⼊或多个输⼊B)⾼效性有效性C)有穷性D)确定性正确答案: B2.10 下列关于C语⾔的说法不正确的是A)C语⾔既具有⾼级语⾔的⼀切功能,也具有低级语⾔的⼀些功能B)C语⾔中的每⼀条执⾏语句都必须⽤分号结束,分号不是C语⾔的⼀部分,是语句之间的分隔符号C)注释可以出现在程序中任意合适的地⽅D)命令⾏后⾯不能加分号,命令⾏不是C语⾔的语句正确答案: B2.11 以下说法错误的是A)⾼级语⾔都是⽤接近⼈们习惯的⾃然语⾔和数学语⾔作为语⾔的表达形式B)计算机只能处理由0和1的代码构成的⼆进制指令或数据C)C语⾔源程序经过C语⾔编译程序编译之后⽣成⼀个后缀为.EXE(c)的⼆进制⽂件D)每⼀种⾼级语⾔都有它对应的编译程序正确答案: C2.12 C语⾔中⽤于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,break C)for,while,do-while D)if,for,continue 正确答案: A⼆、填空题(请将每⼀个空的正确答案写在答题卡相应序号后。

C语言课程的复习题2(选择题)

C语言课程的复习题2(选择题)

第六章指针601.若有以下定义和语句:doubler=99,*p=&r;*p=r;则以下正确的叙述是A)以上两处的*p含义相同,都说明给指针变量p赋值B)在“doubler=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元C)语句“*p=r;”把变量r的值赋给指针变量pD)语句“*p=r;”取变量r的值放回r中答案:D602.以下程序执行后,a的值是mian(){inta,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;printf(“%d\n”,a);}A)4B)1C)0D)运行时出错,无定值答案:c603.下面关于指针的正确叙述是A)指针就是计算机中用来定位的一种硬件B)指针变量与普通内存变量一样C)所谓指针实际上就是内存地址D)因为内存地址一直存在,所以不论是否定义指针变量,指针变量都一直存在604.下面能正确进行字符串赋值操作的语句是A)chars[5]={“ABCDE”};B)chars[5]={‘A’、’B’、’C’、’D’、’E’};C)char*s;s=”ABCDEF”;D)char*s;scanf(“%s”,s);答案:c605.设有如下一段程序:int*var,ab;ab=100;var=&ab;ab=*var+10;执行上面程序段后,ab的值为A)120B)110 C)100D)90答案:B606.若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是A)pb=&xB)pb=xC)*pb=&xD)*pb=*x答案:A607.设有如下程序:#include<stdio.h>main(){int**k,*j,i=100;j=&i;k=&j;printf(“%d\n”,**k);}上述程序的输出结果是A)运行错误B)100C)i的地址D)j的地址答案:B608.若有定义:inta[10],*p=a;则p+5表示A)元素a[5]的地址B)元素a[5]的值C)元素a[6]的地址D)元素a[6]的值答案:A609.若已定义:inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是A)p+1B)a+1C)&a[1]D)p答案:D610.若有定义:inta[10];则数组a中首元素的地址可表示为A)aB)a+1C)&aD)&a[1]答案:A611.请阅读程序:#include<stdio.h>inta[]={2,4,6,8};main(){inti;int*p=a;for(i=0;i<4;i++)a[i]=*p++;printf(“%d\n”,a[2]);}上面程序的输出结果是A)6B)8C)4D)2答案:A612.下面程序段的运行结果是char*p=”%d,a=%d,b=%d\n”;inta=123,b=10,c;c=a%b;p+=3;printf(p,c,a,b);A)3,a=123,b=10B)a=3,b=123C)a=123,b=10D)以上结果都不对答案:B613.以下程序的运行结果是#include“stdio.h”main(){inta[]={1,2,3,4,5,6,7,8,9,10,11,12}; int*p=a+5,*q;*q=*(p+5);printf(“%d%d\n”,*p,*q);}A)运行后报错B)611C)610D)55答案:B614.阅读程序:#include<stdio.h>main(){inta[10]={1,2,3,4,5,6,7,8,9,0},*p;p=a;printf(“%x\n”,p);printf(“%x\n”,p+9);该程序有两个printf语句,如果第一个printf语句输出的是194,则第二个printf 语句输出结果是A)203B)204C)1a4D)1a6答案:D615.以下程序的输出结果是main(){chara[10]={'1','2','3','4','5','6',' 7','8','9',0},*p;/*0即'\0'*/inti;i=8;p=a+i;printf(“%s\n”,p-3);}A)6B)6789C)'6'D)789答案:B616.已知指针p的指向如下图所示,则执行语句*--p;后*p的值是a[0]a[1]pa[2]a[3]a[4]┌──┬──┬──┬──┬──┐│10│20│30│40│50│└──┴──┴──┴──┴──┘A)30B)20C)19D)29答案:B617.下列程序的输出结果是main(){inta[5]={2,4,6,8,10},*p,**k;p=a;k=&p;printf(“%d”,*(p++));printf(“%d\n”,**k);}A)44B)22C)24D)46答案:C618.以下程序段给数组所有的元素输入数据,请选择正确答案填入。

广技师C语言复习题2. 练习(输入输出)(有答案)

广技师C语言复习题2. 练习(输入输出)(有答案)

一、选择题1. 以下程序的运行结果是。

#include <stdio.h>int main( ){ int m=5, n=10;printf(“%d, %d\n”,m++, --n);return 0;}A.5,9 B.6,9 C.5,10 D.6,102. 有定义语句int a,b; ,若要通过语句scanf(“%d, %d”, &a, &b); 使变量a得到数值6,变量b得到数值5,下面形式中错误的是。

(注:□代表空格)A.6,5<回车> B.6,□□5<回车>C.6 5<回车> D.6,<回车>5<回车>3. 以下程序的输出结果是。

(注:□代表空格)#include <stdio.h>int main( ){ printf(“\n*s1=%15s*”, “chinabeijing” );pirntf(“\n*s2=%-5s*”, “chi”);return 0;}A.*s1=chinabeijing□□□* B.*s1=chinabeijing□□□* *s2=**chi* *s2=chi□□*C.*s1=*□□chinabeijing* D.*s1=□□□chinabeijing* *s2=□□chi* *s2=chi□□*4. 已有如下定义语句和输入语句,若要求a1, a2, c1, c2的值分别为10、20、A和B,当从第一列开始输入数据时,正确的数据输入方式是。

(注:□代表空格)int a1,a2; char c1, c2;scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);A.10A□20B<回车> B.10□A□20□B<回车>C.10□A□20B<回车> D.10A20□B<回车>5. 已有定义int x; float y; 且执行scanf(“%3d%f”, &x,&y); 语句,若从第一列开始输入数据12345□678<回车>,则x的值为(1),y的值为(2)。

c语言复习试题及答案

c语言复习试题及答案

c语言复习试题及答案C语言复习试题及答案一、选择题1. C语言中,一个整型变量的取值范围是:A. -128 到 127B. -32768 到 32767C. -2147483648 到 2147483647D. 取决于编译器答案:D2. 下列哪个关键字用于定义C语言的结构体?A. structB. defineC. unionD. enum答案:A3. C语言中,字符串在内存中是以什么方式存储的?A. 字符串名B. 字符串长度C. 字符串本身D. 字符串结束标志 '\0'答案:D4. 在C语言中,函数返回值的类型由什么决定?A. return 语句B. 函数名C. 函数定义时指定的类型D. 函数参数的类型答案:C5. 下列哪个操作符不能用于位操作?A. &B. |C. ^D. ++答案:D二、填空题6. C语言中,预处理器指令 `#include` 的作用是_______。

答案:引入其他文件7. `int main()` 函数中的 `void` 表示该函数_______。

答案:不返回任何值8. 在C语言中,数组的索引是从_______开始的。

答案:09. `printf` 函数的返回类型是_______。

答案:int10. 表达式 `3.0 / 0` 在C语言中会导致_______。

答案:运行时错误三、简答题11. 请简述C语言中指针的概念及其用途。

答案:指针是一种变量,它存储的是另一个变量的内存地址。

指针在C语言中用于直接访问内存、动态内存分配、数组操作、函数参数传递等。

12. 解释C语言中数组和指针之间的关系。

答案:在C语言中,数组名可以作为指针使用,它指向数组的第一个元素的地址。

通过指针可以遍历数组,也可以通过指针修改数组元素的值。

四、编程题13. 编写一个C语言程序,实现对整数数组的排序。

```c#include <stdio.h>void sort(int arr[], int n) {int i, j, temp, min_idx;for (i = 0; i < n - 1; i++) {min_idx = i;for (j = i + 1; j < n; j++) {if (arr[j] < arr[min_idx]) {min_idx = j;}}if (min_idx != i) {temp = arr[i];arr[i] = arr[min_idx];arr[min_idx] = temp;}}}int main() {int arr[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]);sort(arr, n);printf("Sorted array: \n");for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}printf("\n");return 0;}```14. 编写一个C语言程序,实现字符串的反转。

C语言程序设计复习题二及参考答案

C语言程序设计复习题二及参考答案

C语言程序设计复习题二一.单项选择题1.按照C语言的规定,能作为用户标识符的是()。

A)int B)5a C)abc_123 D)unsigned2.编译操作的功能是把源程序转换成()。

A)源程序B)目标程序C)可执行程序D)汇编程序3.定义下面语句,编译会出错的是()。

A)char a='x'; B)char a='\t'; C)char a='cc'; D)char a='\101';4.以下选项中正确的定义语句是()。

A)double x; y; B)double x=y=7; C)double x=7, y=7; D)double, x, y;5.若有定义int x, y;并已正确给变量赋值,则以下选项中与表达式(x-y) ? (x++): (y++)中的条件表达式(x-y)等价的是()。

A)(x-y>0) B)(x-y<0) C)(x-y<0 || x-y>0) D)(x-y==0)6.以下关于long、int和short类型数据占用内存大小的叙述中正确的是()。

A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定7.设有定义:int x=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()。

A)x++ B)x+=1 C)++x D)x+18.若有定义语句:int x=10;,则表达式x-=x+x的值为()。

A)-20 B)-10 C)0 D)109.有以下程序void main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序运行后的输出结果是()。

A)2,3,3 B)2,3,2 C)2,3,1 D)2,2,110.以下叙述中正确的是()。

A)C语言是一种非结构化程序设计语言B)结构化程序有顺序、分支、循环三种基本结构组成C)使用三种基本结构构成的程序只能解决简单问题D)结构化程序设计不提倡模块化的设计方法11.有以下程序#include <stdio.h>void main(){ char e1,e2;e1=’A’+’8’-‘4’;e2=’A’+’8’-‘5’;printf(“%c,%d\n”,e1,e2);}已知字母A的ASCII码为65,程序运行后的输出结果是()A)E,68 B)D,69 C)E,D D)输出无定值12.有以下程序void main(){ int a=0,b=0;a=10; /*给a赋值b=20; 给b赋值*/printf("a+b=%d\n",a+b);}程序运行后输出结果是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A.十进制、八进制、十六进制B.十二进制、十进制
C.六进制、八进制D.二进制、十进制
25.在C语言中,回车换行符是()
A. \n B. \t C. \v D. \b
26.在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII码()。
A)大32B)大64C)小32D)小64
5.下列条件语句中,功能与其他语句不同的是()。
A. if(a) printf("%d\n",x); else printf("%d\n",y);
printf(“%f”,(x,y));
A)3.600000 B)5.800000
C)3.600000,5.800000 D)输出符号不够,输出不正确值
49.设整型变量a值为9,则下列表达式中使b的值不为4的表达式:。
A)b=a/2 B)b=a%2
C)b=8-(3,a-5) D)b=a>5?4:2
2.2
16.C语言中规定,在变量定义的同时也可以给变量赋初值,叫做。
17.C的字符串常量是用括起来的字符序列。(0级)
18.在C语言中,系统在每一个字符串的结尾自动加一个“字符串结束标志符”即,以便系统据此数据判断字符串是否结束。
19.下面的程序
mian()
{float x;int i;
x=3.6;i=(int)x;
C.用户标识符中可以出现下划线,但不能放在用户标识符的开头
D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头
3.下列4个选项中,()是合法的用户自定义标识符。
A.bbB.floatC.2aD._isw
4.以下选项中不正确的整型常量是()。
A.12LB.10C.1 900D.123U
{ char p[]={'a','b','c'}, q[]="abc";
printf("%d %d\n", sizeof(p),sizeof(q));
};
A.4 4B.33C.3 4D.4 3
21.以下叙述中错误的是( )
A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意”
x=’0’;y=’9’;
printf(“%d,%d\n”,x,y);
}
A)因输出格式不合法,输出错误信息B)48,57
C)0,9D)48,58
30.已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为。
main()
{char c=’A’;int i=10;
c=c+10;
i=c%i;
printf(“%c,%d\n”,c,i);
3.表达式!(x>0||y>0)等价于()。
A.!x>0||!y>0B.!(x>0)||!(y>0)
C.!x>0&&!y>0D.!(x>0)&&!(y>0)
4.判断整型变量x、y中有且只有1个值为0的表达式为()。
A.!(x*y) && (x+y)B.(x*y)&&x+y
C.x*y==0D.x==0&&y!=0
A)’\n’B)e-310C)’DEF’D)’1234’
36.下列常数中,不合法的C常量是()。
A)-0x2aB)lg3C)’[’D]”CHINA”
37.下列常数中,不合法的C常量是()。
A)-0x3bB)123e+2.3C)’}’D)6e+7
38.下列符号中,可以作为变量名的是()。
A)+aB)12345eC)a3BD)5e+0

1.下列叙述中正确的是()。
A.C语言中既有逻辑类型也有集合类型
B.C语言中没有逻辑类型但有集合类型
C.C语言中有逻辑类型但没有集合类型
D.C语言中既没有逻辑类型也没有集合类型
2.下列关于C语言用户标识符的叙述中正确的是()。
A.用户标识符中可以出现下划线和中划线(减号)
B.用户标识符中不可以出现中划线,但可以出现下划线
A.4B.16C.48D.32
17.设有int x=11,则表达式(x++ * 1/3)的值是()。
A.3B.4C.11D.12
18.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子 的C语言表达式是()。
A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z
27.设d为字符变量,下列表达式不正确的是()。
A)d=97B)d=’a’C)d=”a”D)d=’g’
28.设d为字符变量,下列表达式正确的是()。
A)d=678B)d=’a’C)d=”d”D)d=’gjkl’
29.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为。
main()
{char x,y;
39.下列符号中,可以作为变量名的是()。
A)+cB)*XC)_DAYD)next day
40.若已定义X和Y为double类型,则表达式:x=1,y=x+3/2的值为()。
A)1B)2C)2.0D)2.5
41.下列程序的执行结果是()。
#include<stdio.h>
#define sum 10+20
main()
{
int b=0,c=0;
b=5;
c=sum*b;
printf("%d",c);
}
A)100B)110C)70D)150
42..下列程序的执行结果是()。
#include<stdio.h>
#define sum(10+20)
mian()
{
int a=0,b=0,c=0;
a=sum;
b=5;
D.它们的运算对象可以是char型变量、int型变量和float型变量
7.下列表达式中值为0的是()。
A.3%5B.3/5.0C.3/5D.3.0/5
8.设变量已正确定义并赋值,表达式()不符合C语言语法。
A.int(3.14)B.++aC.a=b=5D.a=4,3
9.若变量已正确定义并赋值,下面符合C语言语法的表达式是()。
int i=10, j=1;
(i,++j);
4.表达式sizeof("hello")的值为__________。
5.表达式“'c'+1”的值为__________,对应的英文字符为__________。
6.设有语句“int a=10;”,请分别填写下列各表达式的值。
(1)a+=a的值为__________。
5.以下选项中,()是不正确的字符常量。
A."a"B.'1'C.'\n'D.'\101
6.下列关于自增运算符++和自减运算符的叙述中正确的是()
A.它们的运算对象可以是任何类形的变量和常量
B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量
}
A)75,7 B)75,5
C)K,5D)因存在非图形字符,无法直接显示出来
31.已知在ASCII集中,字母A的序号为65,下面程序的输出结果为。
main()
{char c1=’B’,c2=’Y’;
printf(“%d,%d\n”,++c1,--c2);
}
A)输出格式不合法,输出错误信息B)67,88
C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识
22.在C语言中,下列属于构造类型的是()
A.整型B字符型C实型D.数组类型
23.下列字符串属于标识符的是()
A. INT B. 5_student C. 2ong D. !DF
24.C语言中能用来表示整常数的进制是()
C.double x=3.14, y=3.14;D.double x=y=3.14;
12.若变量已正确定义,表达式“j=3, j++”的值是()。
A.3B.4C.5D.0
13.假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式 的表达式是( )。
A.1/a*b*cB.1/(a*b*c)C.1/a/b/(float)cD.1.0/a/b/c
C)66,89D)C,X
32.C语言中,运算对象必须是整型数的运算符是()。
A)%B)\C)%和\D)**
33..下列常数中,合法的C常量是()。
A)-0.B)’105’C)’AB’D)”35”
34.下列常数中,合法的C常量是()。
A)”x-y”B)’105’C)’Be’D)7ff
35.下列常数中,合法的C常量是()。
则表达式:w*x+z-y所求得的数据类型为。
12.C语言基本数据类型包括、、、。
13. C语言在定义变量的同时说明变量的,系统在编译时就能根据变量定义及其为它分配相应数量的存储空间。
14.在C语言中,标识符只能由、和三种字符组成,且第一个字符必须或。
15.实型变量分为和,即float和double型。
1.若x是浮点型变量,则表达式“x=10/4”的值是__________。
2.下列程序段的运行结果为:__________。
doublex1, x2;
相关文档
最新文档