C语言章节复习题

一、选择题:1、一个C程序的执行是从( A )。

A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序main函数结束2、在 C 语言中,每个语句必须以( D )结束。

A. 回车符B. 冒号C. 逗号D. 分号3、C 语言规定:在一个源程序中,main函数的位置( C )。

A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后4、一个C 语言程序是由( B )。

A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成5、下列说法中错误的是( D )。

A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。

A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D. 自动保存源文件二、填空题:1、C 语言只有 32 个关键字和 9 种控制语句。

2、每个源程序有且只有一个 main 函数,系统总是从该函数开始执行C语言程序。

3、C 语言程序的注释可以出现在程序中的任何地方,它总是以 \* 符号作为开始标记,以 */ 符号作为结束标记。

4、C 语言中,输入操作是由库函数 scanf 完成的,输出操作是由库函数 printf 完成的。

5、系统默认的C 语言源程序文件的扩展名是 .c ,经过编译后生成的目标文件的扩展名是 .obj ,经过连接后生成的可执行文件的扩展名是 .exe 。

6、C 语言的标识符只能由字母、数字和下划线三种字符组成。

第三章数据类型、运算符和表达式一、选择题:1、以下选项中,不正确的 C 语言浮点型常量是( C )。

A. 160.B. 0.12C. 2e4.2D. 0.02、以下选项中,( D )是不正确的 C 语言字符型常量。

A. 'a'B. '\x41'C. '\101'D. "a"3、在 C 语言中,字符型数据在计算机内存中,以字符的( C )形式存储。

A. 原码B. 反码C. ASCII 码D. BCD码4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是( C )。

x=(i=4,j=16,k=32)A. 4B. 16C.32D.525、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( B )。

A. 算术运算、赋值运算、关系运算B. 算术运算、关系运算、赋值运算C. 关系运算、赋值运算、算术运算D. 关系运算、算术运算、赋值运算6、若有代数式,则不正确的C语言表达式是( C )。

A.a/b/c*e*3B. 3*a*e/b/cC.3*a*e/b*cD. a*e/c/b*37、表达式!x||a==b 等效于( D )。

A. !((x||a)==b)B. !(x||y)==bC. !(x||(a==b))D. (!x)||(a==b)8、设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是( A)。

A. 0,0B. 0,1C. 1,0D. 1,19、设有语句 int a=3;,则执行了语句 a+=a-=a*=a;后,变量 a 的值是( B )。

A. 3B. 0C. 9D. -1210、在以下一组运算符中,优先级最低的运算符是( D )。

A. *B. !=C. +D. =11、设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是( B )。

A. 6B. 12C. 15D. 表达式出错12、若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是( C )。

A. 1B. 2C. 2.0D. 2.513、sizeof (double)的结果值是( A )。

A. 8B. 4C. 2D. 出错14、设a=1,b=2,c=3,d=4,则表达式:a<b? a : c<d? a : d的结果为( D )。

A. 4B. 3C. 2D. 115、设a 为整型变量,不能正确表达数学关系:10<a<15的 C 语言表达式是( A )。

A. 10<a<15B. a= =11|| a= =12 || a= =13 || a= =14C. a>10 && a<15D. !(a<=10) && !(a>=15)16、设 f是实型变量,下列表达式中不是逗号表达式的是( D )。

A. f= 3.2, 1.0B. f>0, f<10C. f=2.0, f>0D. f=(3.2, 1.0)17、表达式18/4*sqrt(4.0)/8值的数据类型是( C )。

A. intB. floatC. doubleD. 不确定18、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句C2=’A’+’6’-‘3’;后c2中的值是( A )。

A. DB. 68C. 不确定的值D. C19、以下用户标识符中,合法的是( B )。

A. intB. nitC. 123D. a+b20、C 语言中,要求运算对象只能为整数的运算符是( A )。

A. %B. /C. >D. *21、若有说明语句:char c='\72';则变量c在内存占用的字节数是( A )。

A. 1B. 2C. 3D. 422、字符串"ABC"在内存占用的字节数是( B )。

A. 3B. 4C. 6D. 823、要为字符型变量 a赋初值,下列语句中哪一个是正确的( B )。

A. char a="3";B. char a=’3’;C. char a=%;D. char a=*;24、下列不正确的转义字符是( C )。

A. \\B. \'C. 074D. \0二、填空题:1、C 语言中的逻辑值“真”是用 1 表示的,逻辑值“假”是用 0 表示的。

2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。

3、设 c='w',a=1,b=2,d=-5, 则表达式 'x'+1>c, 'y'!=c+2, -a-5*b<=d+1,b==a=2的值分别为 1 、 0 、 1 、 1 。

4、设 float x=2.5,y=4.7; int a=7;,表达式 x+a%3*(int)(x+y)%2/4的值为 2.5 。

5、判断变量 a、b 的值均不为 0 的逻辑表达式为a!=0&&b!=0 。

6、求解赋值表达式 a=(b=10)%(c=6),表达式值、a、b、c 的值依次为 4,4,10,6 。

7、求解逗号表达式 x=a=3,6*a 后,表达式值、x、a 的值依次为18,3,3 。

8、数学式a/(b*c)的 C 语言表达式 a/b/c 。

三、编程题:1、设长方形的高为 1.5,宽为 2.3,编程求该长方形的周长和面积。

2、编写一个程序,将大写字母 A转换为小写字母 a。

1.main(){float x=1.5,y=2.3;printf(“area is %6.2f\n”,x*y);}2.main(){char c=’A’;printf(“%d”,c+32);}1. 单项选择题(1) int a[4]={5,3,8,9};其中 a[3]的值为( )。

DA. 5B. 3C. 8D. 9(2) 以下 4 个字符串函数中,( )所在的头文件与其他 3 个不同。

AA. getsB. strcpyC. strlenD. strcmp(3) 以下 4 个数组定义中,( )是错误的。

DA. int a[7];B. #define N 5 long b[N];C. char c[5];D. int n,d[n];(4) 对字符数组进行初始化,( )形式是错误。

BA. char c1[ ]={'1', '2', '3'};B. char c2[ ]=123;C. char c3[ ]={ '1', '2', '3', '\0'};D. char c4[ ]="123";(5) 在数组中,数组名表示( )。

AA. 数组第 1 个元素的首地址B.数组第 2 个元素的首地址C. 数组所有元素的首地址D.数组最后 1 个元素的首地址(6) 若有以下数组说明,则数值最小的和最大的元素下标分别是( )。

Bint a[12] ={1,2,3,4,5,6,7,8,9,10,11,12};A. 1,12B. 0,11C. 1,11D. 0,12(7) 若有以下说明,则数值为 4 的表达式是( )。

Dint a[12] ={1,2,3,4,5,6,7,8,9,10,11,12}; char c=’a’, d, g ;A. a[g-c]B. a[4]C. a['d'-'c']D. a['d'-c](8) 设有定义:char s[12] = "string" ; 则printf( "%d\n",strlen(s)); 的输出是( )。

AA. 6B. 7C. 11D. 12(9) 设有定义:char s[12] = "string"; 则printf("%d\n ", sizeof(s)); 的输出是( )。

DA. 6B. 7C. 11D. 12(10) 合法的数组定义是( )。

AA. char a[ ]= "string " ;B. int a[5] ={0,1,2,3,4,5};C. char a= "string " ;D. char a[ ]={0,1,2,3,4,5}(11) 合法的数组定义是( )。

DA. int a[3][ ]={0,1,2,3,4,5};B. int a[ ][3] ={0,1,2,3,4};C. int a[2][3]={0,1,2,3,4,5,6};D. int a[2][3]={0,1,2,3,4,5,};(12) 下列语句中,正确的是 ( )。

合集下载

C语言1-5章复习题及参考答案

C语言1-5章复习题及参考答案

一.选择题1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。

A .-3 B.9 C.-12 D.62、若有定义:int a=8, b=5, c; 执行语句 c=a/b+0.4; 后,c的值为()。

A .1.4 B.1 C.2.0 D.23、有如下程序:void main(){int i,sum;for(i=1;i<=3;sum++)sum+=i;printf("%d\n",sum);}该程序的执行结果是()。

A .6 B.3 C.死循环 D.04、下列关于表达式的描述中,错误的是()。

A . 常量和变量都是表达式。

B. 运算符类型对应表达式的类型。

C. 每一个表达式都有自己的值。

D. 表达式必须以分号结尾。

5、C语言中,合法的长整型常数是()。

A . '\t' B.” A” C.65 D.a6、若已定义 x 和 y为double 类型,则表达式 x=1;y=(x+3)/2 的值是()。

A .1 B.2 C.2.00000 D.2.500007、表达式:10!=9的值是()。

A . true B. 非零值 C.0 D.18、以下程序的输出结果是()。

#include<stdio.h>void main(){printf("%d\n", NULL);}A . 不确定的 B.0 C.-1 D.19、请选出合法的C语言赋值语句。

()A . a=b=58 B.i++; C. a=58,b=58 D. k=int(a+b);10、假设 int b=2; 表达式(b>>2)/(b>>1)的值是()。

A .0 B.2 C.4 D.811、关于语句printf(“hello world\n”);,下列描述中错误的是()。

A . printf()是格式化输出函数,用于输出信息。

B. printf()括号中的内容为函数的参数。

C语言复习题

C语言复习题

《C语言》复习题一、选择题(1) 有如下程序main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}运行该程序的输出结果是: DA) 3 4 B) 4 2 C) 4 3 D) 3 3(第三章输出语句)(2)当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是: CA)c=b=a;B)(a=c)‖(b=c);C)(a=c)&&(b=c);D)a=c=b;(第四章关系表达式)(3)在以下一组运算符中,优先级最高的运算符是: CA)<= B)=C)% D)&&(第四章运算符的优先级)(4) 请选出合法的C语言赋值语句: BA) a=b=58 B) i++;C) a=58,b=58 D) k=int(a+b)(第三章赋值语句)(5)以下说法中正确的是: CA)#define和printf都是C语句B)#define是C语句,而printf不是C)printf是C语句,但#define不是D)#define和printf都不是C语句(第三章语句概述)(6)若有以下定义: Dchar a; int b;float c; double d;则表达式a*b+d-c值的类型为A) float B) int C) char D) double(第二章类型混合运算)(7)若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是: CA)1 B)2C)2.0 D)2.5(第二章类型混合运算)(8)有以下程序#includemain(){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是: AA) 2,1 B) 3,2 C) 4,3 D) 2,-1(第四章逻辑运算符)(9) 以下程序运行后,输出结果是: CA) cde B) 字符c的ASCII码值C) 字符c的地址D) 出错main(){ char *s="abcde";s+=2;printf("%ld\n",s);}(第九章指针的概念)(10)若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为:DA)a<>0 B)!aC)a=0 D)a(第4章条件表达式)(11)有如下程序段,其输出结果是什么: Amain( ){int a=1,b=3,c=5;if (c=a+b)printf ("yes\n");else printf("no\n"); }A) yes B) no C) yes\n D) no\n(第4章条件语句)(12) 假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表1示代数式----- 的表达式是: DabcA) 1/a*b*cB) 1/(a*b*c)C) 1/a/b/(float)cD) 1.0/a/b/c(第二章类型混合运算)(13)若i ,j已定义为int类型,则以下程序段中内循环体的总的执行次数是: Afor (i=5;i;i--)for(j=0;j<4;j++){...}A)20 B)15C)24 D)16(第五章for循环语句)(14)下面哪个程序段不是死循环: C(A) a=0; sum=0;while(a=1){sum=sum+a;a++;}(B) {int I,sum=0;For(i=1;i<=3;sum++)sum+=I;}(C) sum=0;for(i=1;i<10;i++);sum=sum+i;(D) sum=0;for(i=1; ;i++)sum=sum+i;(第五章for循环语句)15、设有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*prt)[3]=a,*p=a[0]则下列能够正确表示数组元素a[1][2]的表达式是: DA)*((*prt+1)[2]) B)*(*(p+5))C)(*prt+1)+2 D)*(*(a+1)+2)16、不能把字符串:Hello!赋给数组b的语句是: BA)char b[10]={'H','e','l','l','o','!'};B)char b[10];b="Hello!";C)char b[10];strcpy(b,"Hello!");D)char b[10]="Hello!";17、设有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*prt)[3]=a,*p=a[0]则下列能够正确表示数组元素a[1][2]的表达式是: DA)*((*prt+1)[2]) B)*(*(p+5))C)(*prt+1)+2 D)*(*(a+1)+2)18、请选出以下语句的输出结果: Aprintf("%d\n",strlen("\t\"\065\xff\n"));A) 5 B) 14 C) 8 D) 输出项不合法,无正常输出(19)假定所有变量均已正确说明,下列程序段运行后x的值是: Ba=b=c=0;x=35;if(!a)x--;else if(b);if(c)x=3;else x=4;A)34 B)4 C)35 D)3(第四章if语句)(20) 运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为: CA) 2,0 B) 5,0 C) 5,5 D) 2,5#include<stdio,h>main(){ int v1=0,v2=0;char ch;while((ch=getchar())!='#')switch(ch){ case 'a';case 'h';default; v1++;case '0'; v2++;}printf("%d,%d\n",v1,v2);}(第四章switch语句)(21) 执行以下程序段时: AA) 循环体将执行一次B) 循环体将执行两次C) 循环体将执行无限次D) 系统将提示有语法错误x=-1;do {x=x*x; } while(! x);(第五章do_whule语句)(22)执行下面的程序后,a的值为: Bmain(){ int a,b;for (a=1,b=1;a<=100;a++){ if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}}A)7 B)8C)9 D)10(第5章break,continue 语句)23) 下面能正确进行字符串赋值操作的语句是: CA) char s[5]={"ABCDE"}; B) char s[5]={'A','B','C','D','E'};C) char *s;s="ABCDEF"; D) char *s; scanf("%s",s);(第6章字符数组的定义;第9章字符串指针)(24)不能把字符串:Hello!赋给数组b的语句是: BA)char b[10]={'H','e','l','l','o','!'};B)char b[10];b="Hello!";C)char b[10];strcpy(b,"Hello!");D)char b[10]="Hello!";(第6章字符数组的使用)(25)函数调用:strcat(strcpy(str1,str2),str3)的功能是: CA)将串str1复制到串str2中后再连接到串str3之后B)将串str1连接到串str2之后再复制到串str3之后C)将串str2复制到串str1中后再将串str3连接到串str1之后D)将串str2连接到串str1之后再将串str1复制到串str3中(第6章字符串处理函数)(26)给出以下定义:char x[ ]="abcdefg";char y[ ]={'a','b','c','d','e','f','g'};则正确的叙述为: CA) 数组X和数组Y等价B) 数组x和数组Y的长度相同C) 数组X的长度大于数组Y的长度D) 数组X的长度小于数组Y的长度(第6章字符数组的定义)(27)以下程序的输出结果是: DA)AfghdEFG B)Abfhd C)Afghd D)Afgd#includemain( ){ char *p1,*p2,str[50]="ABCDEFG";p1="abcd";p2="efgh";strcpy(str+1,p2+1);strcpy(str+3,p1+3);printf("%s",str);}(第6章字符串处理函数;第9章字符串指针)(28)下面哪个程序段编译会出错: DA) max(int x,int y,int *z) B) max(int x, int y){ *z=x>y?x:y;} {return x>y?x:y;}C) max(int x,int y) D) int max(int x, y){ int z; { int zz=x>y?x:y; z=x>y?x:y;return z;} return z;}(29)下列程序执行后输出的结果是: D#include 〈stdio.h〉f(int a){ int b=0;static c=3:a=c+ +,b+ +;returu(a);}main( ){ int a=2,i,k;for(i=0;i<2;i+ +)k=f(a+ +);printf("%d\n",k);}A)3 B)0 C)5 D)4(第7章静态变量)(30)下列程序执行后输出的结果是: Aint d=1;fun (int q){ int d=5;d + =q+ +;printf("%d".d);}main( ){ int a=3;fun(a);d + = a + +;printf("%d\n",d);}A)8 4 B)9 6 C)9 4 D)8 5(第7章函数调用;第3章复合赋值运算符)(31)以下程序的输出结果是: Dmain(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A)10 10 B)9 9C)9 10 D)10 9(第7章函数调用时,参数结合方式:右结合)(32)有以下程序int fun(int x , int y , int *cp , int *dp){ *cp=x+y; *dp=x-y; }main(){ int a, b, c, d;a=30; b=50;fun(a,b,&c,&d);printf("%d,%d\n", c, d);}输出结果是: CA)50,30 B)30,50 C)80,-20 D)80,20(第7章函数调用;第9章指针变量做参数)(33)执行下面的程序后,a的值是: B#define SQR(X) X*Xmain( ){ int a=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}A)10 B)1 C)9 D)0(第8章带参宏定义)(34) 以下有关宏替换的叙述不正确的是: DA) 宏替换不占用运行时间 B)宏名无类型C)宏替换只是字符替换 D)宏名必须用大写字母表示(第8章宏定义)(35)C语言的编译系统对宏命令的处理是: DA) 在程序运行时进行的B) 在程序连接时进行的C) 和C程序中的其它语句同时进行编译的D) 在对源程序中其它成份正式编译之前进行的(第8章宏定义运行特点)(36)若有宏定义如下:#define X 5#define Y X+1#define Z Y * X / 2则执行以下printf语句后,输出结果是: Dint a; a=Y;Printf("%d\n", Z);Printf("%d\n", - - a);A) 7 B) 12 C) 12 D) 76 6 5 5(第7章函数调用;第8章带参宏定义)37、若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是: DA) &t[3][2]B) t[3][2] C) t[1][0] D) t[2]+138、若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是: CA)1 B)2C)2.0 D)2.539、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是: CA)c=b=a;B)(a=c)‖(b=c);C)(a=c)&&(b=c);D)a=c=b;40、C语言的编译系统对宏命令的处理是: DA) 在程序运行时进行的B) 在程序连接时进行的C) 和C程序中的其它语句同时进行编译的D) 在对源程序中其它成份正式编译之前进行的(41)请读程序:#define ADD(x) x+xmain(){int m=1, n=2, k=3;int sum=ADD(m+n) * k;printf("sum=%d", sum);}上面程序的运行结果是: BA) sum=9 B) sum=10 C) sum=12 D) sum=18(第8章带参宏定义)(42)在宏定义 #define PI 3.14159中,用宏名PI代替一个: DA) 常量 B)单精度数 C)双精度数 D)字符串(第8章宏定义)(43)设有以下定义:int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int (*prt)[3]=a,*p=a[0]则下列能够正确表示数组元素a[1][2]的表达式是: DA)*((*prt+1)[2]) B)*(*(p+5))C)(*prt+1)+2 D)*(*(a+1)+2)(第9章数组指针与指向主组的指针)44、能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假“的表达式是___C____。

(完整版)C语言各章练习题

(完整版)C语言各章练习题

目录第一章程序设计和C语言 (2)第二章最简单的C程序设计 (2)第三章选择结构程序设计 (4)第四章循环结构程序设计 (7)第五章数组 (11)第六章函数 (14)第七章指针 (18)第一章程序设计和C语言一、选择题:1.一个C程序的执行是从( )A、本程序的main函数开始,到main函数结束B、本文件第一个函数开始,到本文件的最后一个函数结束C、本程序的main函数开始,到本文件的最后一个函数结束D、本文件的第一个函数开始,到本文件的main结束2.以下说法不正确的是()A、一个C源程序可由一个或多个函数组成B、一个C程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面3.C语言规定:在一个源程序中,main函数的位置()A、必须在开始B、必须在系统调用的库函数的位置C、可以任意D、必须在最后4.源程序program.c经编译产生的目标文件和连接后产生的可执行文件是( )A、program.bak和program.objB、program.obj和program.exeC、program.exl和program.cD、program.bak和prgram.exe第二章最简单的C程序设计一、选择题1.是合法的用户自定义标识符的( )A、ah-spksB、doubleC、<ctrl>D、_myapple2.以下正确的C语言标识符是()A、%xB、a+bC、a123D、test!3.以下不能定义为用户标识符的是( )A、V oidB、b_2C、intD、name4.以下选项中可作为C语言合法整数的是( )A、11010(B)B、0583C、x2b2D、0xafb5.VC++6.0中的短整型数值在计算机中占用的字节个数是( )A、1B、2C、3D、46.设short int型的数据长度为2个字节,则unsigned short 类型数据的取值范围是()P34A、均为2个字节B、0至65535C、-3276至32767D、-256至255 7.以下选项中可作为C语言合法常量的是()(指数E或e前必须有数字,后面必须有整数)A、-80.0B、-080C、-8e1.2D、-80.0e8.在VC++6.0编译环境下,下列式中,值不为4的表达式是()P34,double为8字节A、sizeof(unsigned long)B、sizeof(long)C、sizeof(unsigned int)D、sizeof(double)9.设有说明语句:char a=’\123’;则变量a( )一个ascii字符A、包含1个字符B、包含2个字符C、3个字符D、说明不合法10.设x为一数字字符,则其所对应的十进制数值为()。

C语言章节习题集(全).docx

C语言章节习题集(全).docx

C语言程序设计第一、二章单项选择题1.将汇编语言编写的程序翻译成目标程序的程序是()A)解释 B)编译 C)汇编 D)目标2.不属于面向机器语言的是()A)符号语言 B)二进制语言 C)汇编语言 D)C 语言3.将高级语言编写的程序翻译成目标程序的程序是()。

A)解释 B)编译 C)汇编 D)二进制4.不属于高级语言的是()。

A)BASICB)CC)ALGOLD)符号语言5.程序段的基本结构中,不包含()。

A)函数结构 B)循环结构 C)顺序结构 D)分支结构6、C语言源程序的最小单位是()。

A、程序行B、语句C、函数D、字符7、以下说法正确的是()。

A、在C语言中,要调用的函数必须在main() 函数中定义B、C语言程序总是从第一个定义的函数开始执行C、C语言程序中, main() 函数必须放在程序的开始部分D、C语言程序总是从main() 函数开始执行8、以下对 C语言描述中正确的是()。

A、C语言源程序中可以有重名的函数B、C语言源程序中要求每行只能书写一条语句C、C语言源程序中,注释可以出现在任何位置D、最小的C源程序中没有任何内容9、对 C语言源程序执行过程描述正确的是()。

A、从main()函数开始执行,到main() 函数结束B、从程序的第一个函数开始执行,到最后一个函数结束C、从 main 函数开始执行,到源程序的最后一个函数结束D、从第一个函数开始执行,到 main 函数结束。

填空题1.能完成某个任务的、有始有终的 C语言 ___称为 C 程序。

2.用来编写程序的计算机语言称为 ____。

3.高级语言编写的程序称为 ____。

4.用C语言编写的源程序简称为“C程序”,扩展名规定为“____”。

5.C 程序经过“编译”后将获得扩展名为“OBJ”的 ____。

6.C 程序经过编译后获得的中间代码文件还需要经过____,才能成为可执行的“程序”,目标程序的扩展名规定为"EXE"。

c语言各章习题

c语言各章习题

第一章C语言概述一、选择题1.C语言规定,必须用作为主函数名。

A)Function B)include C)main D)stdio 2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个,一个C 程序总是从开始执行。

A)过程B) 主函数C)函数D)include 3.是C程序的基本构成单位。

A)函数B) 函数和过程C) 超文本过程D) 子程序4.下列说法正确的是。

A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B)一个函数的函数体必须要有执行部分,可以没有变量定义C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D)以上都不对5.下列说法正确的是。

A)main函数必须放在C程序的开头B)main函数必须放在C程序的最后C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的6.下列说法正确的是。

A)在执行C程序时不是从mian函数开始的B)C程序书写格式严格限制,一行内必须写一个语句C)C程序书写格式自由,一个语句可以分写在多行上D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号7.在C语言中,每个语句和数据定义是用结束。

A)句号B)逗号C)分号D)括号8.下列字符串是标识符的是。

A)_HJ B)9_student C)long D)LINE 19.以下说法正确的是。

A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分10.不是C语言提供的合法关键字。

A)switch B)print C)case D)default二、填空题1.一个C程序至少包含一个,即。

2.一个函数由两部分组成,它们是和。

3.函数体的范围是。

C语言全部章节习题集(参考答案)

C语言全部章节习题集(参考答案)
}
选择结构答案
一、单项选择题
1.B 2.A 3.D 4.C 5.D 6.B 7.C
二、填空题
1. 5 5 4
5 5 4
3 3 4
2. 4 0
3. VeryGood
Good
VeryGood
A. 8 B. 4 C. 2 D. 出错
14、设a=1,b=2,c=3,d=4,则表达式:a<b? a : c<d? a : d的结果为( D )。
A. 4 B. 3 C. 2 D. 1
15、设a 为整型变量,不能正确表达数学关系:10<a<15的 C 语言表达式是( A )。
{ float a,b,temp;
printf("input a and b:");
scanf("%d,%d",&a ,&b);
temp = a; a = b; b = temp;
printf("a=%d , b=%d\n", a , b);
scanf(“%f”,&t);
if(t>=90) ch=’A’;
else if(t>=80) ch=’B’;
24、下列不正确的转义字符是( C )。
A. \\ B. \' C. 074 D. \0
二、填空题:
1、C 语言中的逻辑值“真”是用 1 表示的,逻辑值“假”是用 0 表示的。
2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为 0 。
5、判断变量 a、b 的值均不为 0 的逻辑表达式为a!=0&&b!=0 。

C语言1-5章复习题及参考答案

一.选择题1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。

A .-3 B.9 C.-12 D.62、若有定义:int a=8, b=5, c; 执行语句c=a/b+0.4; 后,c的值为()。

A .1.4 B.1 C.2.0 D.23、有如下程序:void main(){int i,sum;for(i=1;i<=3;sum++)sum+=i;printf("%d\n",sum);}该程序的执行结果是()。

A .6 B.3 C.死循环 D.04、下列关于表达式的描述中,错误的是()。

A . 常量和变量都是表达式。

B. 运算符类型对应表达式的类型。

C. 每一个表达式都有自己的值。

D. 表达式必须以分号结尾。

5、C语言中,合法的长整型常数是()。

A . '\t' B.” A” C.65 D.a6、若已定义x 和y为double 类型,则表达式x=1;y=(x+3)/2 的值是()。

A .1 B.2 C.2.00000 D.2.500007、表达式:10!=9的值是()。

A . true B. 非零值 C.0 D.18、以下程序的输出结果是()。

#include<stdio.h>void main(){printf("%d\n", NULL);}A . 不确定的 B.0 C.-1 D.19、请选出合法的C语言赋值语句。

()A . a=b=58 B.i++; C. a=58,b=58 D. k=int(a+b);10、假设int b=2; 表达式(b>>2)/(b>>1)的值是()。

A .0 B.2 C.4 D.811、关于语句printf(“hello world\n”);,下列描述中错误的是()。

A . printf()是格式化输出函数,用于输出信息。

B. printf()括号中的内容为函数的参数。

C语言章节习题集(全)

C语言程序设计第一、二章单项选择题1.将汇编语言编写的程序翻译成目标程序的程序是()A)解释B)编译C)汇编D)目标2.不属于面向机器语言的是()A)符号语言B)二进制语言C)3.A)解释B)编译C)汇编D)二进制4.不属于高级语言的是()。

5.A)D)分支结构6、CA7A、在main()函数中定义B、C语言程序总是从第一个定义的函数开始执行C、C语言程序中,main()函数必须放在程序的开始部分D、C语言程序总是从main()函数开始执行8、以下对C语言描述中正确的是()。

A、C语言源程序中可以有重名的函数B、C语言源程序中要求每行只能书写一条语句C、C语言源程序中,注释可以出现在任何位置D、最小的C源程序中没有任何内容9、对C语言源程序执行过程描述正确的是()。

A、从main()函数开始执行,到main()函数结束B、从程序的第一个函数开始执行,到最后一个函数结束C、从mainD、填空题1.2.3.4.用C C程序”,扩展名规定为“____”。

5.C OBJ”的____。

6.C____,才能"EXE"。

7、89.选择结构是____选择某个操作来执行的—种程序结构。

10.选择结构可以分为____、双分支结构和多分支结构。

11.循环结构又可分为当型循环、____及次数型循环。

第三章数据类型、运算符与表达式单项选择题1.以下程序的输出结果是。

main(){inta=10,b=10;printf("%d,%d",a--,++b);}A)10,11B)10,10 C)9,9D)9,112.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是A)'a'&&'b'B)a<=b3.设ch是char型变量,其值为4.main();}A)003B)012 C)103D)1125.字符串“\t\n\\\045\’”的长度为。

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

一、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语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。

()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。

()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。

()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。

答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。

答案:911. 在C语言中,用于动态分配内存的函数是______。

答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。

答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。

答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。

答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档