C语言试卷及答案

合集下载

C语言试卷及答案

C语言试卷及答案

一、选择题。

(每空2分,共计40分)本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由(C )组成的。

A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是(C )。

A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b)printf ( “------------“) ;的正确说法是(C )。

A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出----------- 4.若x、y、z均为int 型变量,则执行下列语句后的z值为( A )。

x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为(D )。

A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是( B )。

A.’A’B.’D’的ASCⅡ码C.65 D.3 7.语句char str[20];说明str是一个字符串,最多能表示( B )。

A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是( B )。

A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是( C )。

A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成10.在循环中使用break 语句的功能是( A )。

A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是(C )。

(完整版)C语言试卷及答案

(完整版)C语言试卷及答案

(完整版)C语言试卷及答案一、选择题(每题2分,共40分)1、C语言源程序的基本单位是( )A.程序行B.语句C.函数D.字符2、C语言规定:在一个源程序中,main函数的位置()。

A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后3、在下列字符列中,合法的标识符是( )A.p12&.aB.stud_100C. water$12D.88sum4、在C语言中,要求运算的数必须是整数的运算符是()A./B.!C.%D.= =5、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a 的值是()A、3B、0C、9D、-126、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为()A、1B、2C、3D、47、执行下列程序时输入:1234567,程序的运行结果是()main(){int x,y;scanf(“%2d%*2c%1d”,&x,&y);printf(“%d\n”,x+y);}A.17B.46C.15D.98、下述程序的输出结果是() #includevoid main(){int x=-1,y=4;int k;k=++x<=0&&!(y--<=0);printf("%d,%d,%d",k,x,y);}A.0,0,3B.0,1,2,C.1,0,3,D.1,1,29、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()main(){int x;scanf(“%d“,&x);if(x++>5)printf(“%d”,x);else printf(“%d\n”,x--);}A.7和5B.6和3C.7和4D.6和411、若变量c为char类型,能正确判断出c为小写字母的表达式是( )A. 'a'<=c<= 'z'B. (c>= 'a')||(c<= 'z')C. ('a'<=c)and ('z'>=c)D. (c>= 'a')&&(c<= 'z')12、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。

C语言复习卷带答案

C语言复习卷带答案

姓名:__________________年级专业:__________________ 学号:__________________凡年级专业、姓名、学号错写、漏写或字迹不清者,成绩按零分记。

…………………………密………………………………封………………………………线…………………………《复习卷》试卷一、单选题(每题1分,共计30分) 1、下列选项中,不合法的变量是(D )。

A 、int x = 3; B 、char ch = 'c' C 、float f ; D 、case c;2、下列选项中,不合法的常量是(D )。

A 、2 B 、'\n' C 、'a' D 、'\483'3、关于#include<stdio.h>这句代码,下列描述中错误的是(C ) A 、"#"是预处理标志,用来对文本进行预处理操作 B 、include 是预处理指令 C 、一对尖括号可以去掉D 、stdio.h 是标准输入输出头文件4、假设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 的值为( C )。

A 、0 B 、1 C 、2 D 、35、C 语言程序的三种基本结构是( A )。

A 、顺序结构,选择结构,循环结构 B 、递归结构,循环结构,转移结构 C 、嵌套结构,递归结构,顺序结构 D 、循环结构,转移结构,顺序结构6、关于下面的for 循环语句 int i,k; for(i = 0,k = -1;k = 1;i++,k++) printf(“*****”); 下列选项中,描述正确的是(B )A 、判断循环结束的条件非法B 、是无限循环C 、只循环一次D 、一次也不循环7、以下定义语句中,错误的是( D )。

c语言试卷含答案

c语言试卷含答案

一、选择题(26分)1. 正确的C语言标识符是(A)。

A._buy_2 B.2_buy C.?_buy D.buy?2. 以下选项中,合法转义字符的选项是(A)。

A.’\\’ B.’\018’ C.’xcb’ D.’\ab3、下列语句中,错误的是(B )A、#define PIB、#include <>;C、if(2);D、for(;;) if(1) break;4、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是()A、 a>=10 or a<=0B、 a>=0|a<=10C、 a>=10 &&a<=0D、 a>=10‖a<=05、以下对break语句使用的正确描述是()A、可以出现在程序中的任何位置B、只能出现在循环结构中或switch结构中C、只能出现在switch结构中D、只能出现在循环结构中6. C语言程序的基本单位是(C)。

A.程序行 B.语句 C.函数 D.字符7、已知各变量的类型说明如下:()int m=6,n, a, b;unsigned long w=8;double x=, y=;则以下符合C语言语法的表达式是(A)。

A.a+=a-=(b=2)*(a=8) B. n=n*3=18C.x%3 D.y=float (m)8、已有定义:char x[]=“ab”,y[ ]={‘a’,’b’ };,以下叙述中正确的是( C)A、数组x和y的长度相同B、x数组长度小于y数组长度C、x数组长度大于y数组长度D、上述说法都不对9、设有定义“int x=3,y,*p=&x”,则下列语句中使y不为3的语句是(D )A、y=*&xB、y=*pC、y=xD、y=&x10、设x、y、z均为int型变量,则执行语句:x=y=3;z=++x||++y;后,y的值为()A、不定值B、4C、3D、111.有如下程序段:int x1,x2;char y1,y2;scanf(”%d%c%d%c”,&x1,&y1,&x2,&y2);若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是(A)。

c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。

A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。

A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。

A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。

A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。

A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。

A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。

C语言试卷(含答案)

C语言试卷(含答案)

一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和分别赋给i和f,则正确的输入为()。

A. 100B. i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);}上面的C程序的输出结果是()。

A. 20B. 1C. 0D. -14、C语言中,while和do…while循环的主要区别是()。

A. do…while的循环体至少无条件执行一次B. while的循环控制条件比do…while的循环控制条件严格C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句5、执行下面的C程序段后,输出结果是()。

inta=5;while(a--);printf("%d",a);A. 54321B. 4321C. 0D. -16、在C语言中,()是在所有函数外部声明的。

A. 全局变量B. 局部变量C. 形参D.实参7、分析下面的C程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。

A. 123B. 012C. 23D. 128、下面的C语言代码段的输出结果是()。

c语言试卷及答案

c语言试卷及答案

C语言程序设计一、单项选择题1.以下叙述不正确的是______。

A)一个C源程序可由一个或多个函数组成B)一个C源程序一行内可以写多条语句C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面2.以下正确的C语言标识符是 __ ____。

A)%x B)a+b C)a123; D)test!3.以下对’\t’描述正确的是______。

A) ’\t’是两个字符B) ’\t’是一个字符C) ’\t’是一个字符串D)以上都不是4.C语言中的简单数据类型有______。

A)整型、实型、逻辑型B) 整型、字符实型、逻辑型C)整型、实型、字符型D) 整型、实型、字符型、逻辑型5.在C语言中,数字029是一个______。

A)八进制数B)十六进制数C)十进制数D)以上都不是6.以下选项中,当为x大于的奇数时,值为0的表达式是______。

A)x%2==0 B) x%2==1 C)x/2 D) x%2!=0 7.已知char c=’d’;,则printf(“%c”,’A’+(‘e’-c));的输出结果是______。

A)a B)e C)B D)D8.已知int a=1,b=3,t; ,若要将a和b变量中的数据进行交换,则下面正确的是______。

A)a=b; b=a; B)a=t; t=b; b=a;C)t=a; a=b; b=t; D)t=a; b=t; b=a;9.已知int a=2,b; ,则执行语句b=1.0/a;后,b的值是__ ____。

A)0.5 B)0 C)1 D)210.已知int i=1,j;,则执行语句j=i++;后,j的值是______。

A)1 B)2 C)-2 D)-111.已知int x=2,y=1,z;,则执行语句z=!x && --y;后,y的值是______。

A)0 B)1 C)2 D)-112.执行以下程序段后,输出结果是______。

int x=10;x+=(x=8);printf(“%d\n”,x);A)10 B)8 C)18 D)1613.已知int b; char s[8];,则正确的输入语句是______。

C语言试卷(含答案)

C语言试卷(含答案)

C语言试卷(含答案)一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和分别赋给i和f,则正确的输入为()。

A. 100B. i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)< p="">if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);}上面的C程序的输出结果是()。

A. 20B. 1C. 0D. -14、C语言中,while和do…while循环的主要区别是()。

A. do…while的循环体至少无条件执行一次B. while的循环控制条件比do…while的循环控制条件严格C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句5、执行下面的C程序段后,输出结果是()。

inta=5; while(a--);printf("%d",a);A. 54321B. 4321C. 0D. -16、在C语言中,()是在所有函数外部声明的。

A. 全局变量B. 局部变量C. 形参D.实参7、分析下面的C程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。

A. 123B. 012C. 23D. 128、下面的C语言代码段的输出结果是()。

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

《C语言程序设计》考试试卷(答案)一、填空题(每小空1分,共10分)1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。

2.一个C程序有且仅有一个main( ) 函数。

3.C语言描述“x和y都大于或等于z”的表达式是x>=z && y>=z。

4.C语言可以用来实现循环的结构化语句是while、do while、for。

5.数组名表示数组在内存的首地址。

6.int a=3,*p=&a;*p+2的值是5。

二、单项选择题(每小题2分,共70分)1.__B___是C语言合法的常量。

(A).45(B)078 (C)25.6e3.4 (D)‘xy’2.一个程序的执行是从 A 。

(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。

(C)本程序的main函数开始,到本程序文件的最后一个函数结束。

(D)本程序文件的第一个函数开始,到main函数结束。

3.以下叙述正确的是 C 。

(A)在C程序中,main函数必须位于程序的最前面。

(B)C程序每行中只能写一条语句。

(C)C语言本是没有输入输出语句。

(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。

4.以下叙述不正确的是 D 。

(A)逗号运算符的运算级最低。

(B)ABC和abc是两个不同的变量。

(C)若a和b类型相同,在执行a=b后,b的自身值不变。

(D)‘a’和“a”是完全等价的常量。

5.int x=3,y=2;则表达式x+=x*=y+8的值为 C 。

(A)28 (B)30 (C)60(D)17 6.设x=2.7,a=8,y=4.9,算术表达式x+a%3*(int)(x+y)%5/3的值为 B 。

(A)2.7 (B)3.7(C)4.7 (D)4.03 7.执行下面两个语句后,输出的结果为__D___。

char c1=98;printf(“%d %c”,c1,c1-32);(A)97 66 (B)98 b (C)b 66 (D)98 B 8.执行下面语句后的结果为 C 。

y=10;x=y++;(A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11(D)x=11,y=10 9.Char w;int x;float y;double z;则表达式w*x+z-y值的数据类型是A 。

(A)double (B)char (C)int (D)float 10.C语言中要求操作数必须是整数的运算符是 B 。

(A)/ (B)%(C)!= (D)=11.用scanf(“%d,%d”,&a,&b)输入数据时,下面输入法中正确的是A 。

(A)123,4 (B)123 4 (C)123;4 (D)12.以下关于运算符优先顺序的描述中正确的是__C______(A)关系运算符<算术运算符<赋值运算符<逻辑与运算符(B)逻辑与运算符<关系运算符<算术运算符<赋值运算符(C)赋值运算符<逻辑与运算符<关系运算符<算术运算符(D)算术运算符<关系运算符<赋值运算符<逻辑与运算符13.下列程序段中,功能与其它程序段不同的是 B 。

(A)for(i=1,p=1;i<=5;i++) p*=i;(B)for(i=1;i<=5;) { p=1;p*=i;i++;}(C)i=1;p=1;while(i<=5) { p*=i;i++;}(D)i=1;p=1;do { p*=i;i++;} while(i<=5);14.C语言规定else总是与 D 配对。

(A)缩进位置相同的if (B)同一行上的if(C)其之前最近的if (D)其之后最近的if15.以下程序的运行结果为___A___。

main(){ int n;for( n=1;n<=10;n++){ if( n%3==0) continue;printf(“%d”,n);}}(A)12457810(B)369 (C)12 (D)12345678910 16.设x和y均为int型变量,则语句x+=y;y=x-y;x-=y;的功能是 D 。

(A)把x和y按从大到小排列(B)把x和y按从小到大排列(C)无确定结果(D)交换x和y中的值17.变量的指针,其含义是指该变量的_B____(A)值(B)地址(C)名(D)一个标志18.以下函数调用语句中含有 A 个实参。

func((e1,e2),(e3,e4,e5));(A)2 (B)3 (C)5 (D)语法错误19.以下正确的描述是___B_____(A)continue语句的作用是结束整个循环的执行(B)只能在循环体内和switch语句体内使用break语句(C)在循环体内使用break语句或continue语句的作用相同(D)goto语句只能用于退出多层循环20.以下程序运行的结果是 D 。

main(){int a=2,b=3,c=2;if(a<b)if(a<c)c--;elsec+=1;printf(“%d\n”,c);}(A)0 (B)1 (C)2 (D)321.int a[4]={2,3,4},I;i=a[0]*a[1]+a[2]*a[3];i的值为 C 。

(A)2 (B)4 (C)6 (D)1022.以下正确的函数定义形式是 C 。

(A)double fun(int x,int y);(B)double fun(int x;int y)(C)double fun(int x,int y)(D)double fun(int x,y)23.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是B 。

(A)float型(B)int型(C)long型(D)double型24.若有定义int a[4]={1,2,3};请问a[a[a[0]]]的值是 C 。

(A)1 (B)2 (C)3 (D)425.以下正确的描述是____B________(A)函数的定义可以嵌套,函数的调用不可以嵌套(B)函数的定义不可以嵌套,函数的调用可以嵌套(C)函数的定义和函数的调用均不可以嵌套(D)函数的定义和函数的调用均可以嵌套26.以下不正确的说法是_____A_______(A)在函数内的复合语句中定义的变量在本函数范围内有效(B)在不同函数中可以使用相同名字的变量(C)形参是局部变量(D)函数调用结束后,静态局部变量的值仍然保留。

27.已有定义:int x=3,y=4,z=5;则表达式!(x+y)+z-1&&y+z/2的值是 D 。

(A)6 (B)0 (C)2 (D)128.main(){int n[4]={1,2,3,4},k;for(k=0;k<4;k++){if(k/2) break;n[k]++;}printf(“%d\n”,n[++k]);}执行后输出的结果是 C 。

(A)2 (B)3 (C)4(D)529.判断字符串是否相等,应当使用 D 。

(A)if(a==b) (B)if(a=b) (C)if(strcpy(a,b)) (D)if(!strcmp(a,b)) 30.以下程序运行结果是 A 。

void sub(int x,int y,int *z){*z=y-x;}main(){int a,b,c;sub(11,7,&a);sub(5,a,&b);sub(a,b,&c);printf(“%d,%d,%d\n”,a,b,c);}(A)-4,-9,-5 (B)-4,9,5 (C)4,-9,-5 (D)-4,9,-5 31.以下程序运行结果是 B 。

main(){int a[2][3]={1,3,5,4,7,6},i,j,b=a[0][0];for(i=0;i<2;i++)for(j=0;j<3;j++)if(b<a[i][j])b=a[i][j];printf(“%d\n”,b);}(A)5 (B)7(C)4 (D)132.以下程序运行结果是 C 。

main(){char s[50]=”I am a student”,c;int i,num=0,word=0;for(i=0;c=s[i];i++)if(c==’’) word=0;else if(word==0){word=1;num++;}printf(“%d\n”,num);}(A)2 (B)3 (C)4 (D)533.以下程序运行结果是 A 。

#include<string.h>main(){char s[50]=”1234567”,*p=s;int i;i=*(p+5)-*(p+2);printf(“%d\n”,i*strlen(s));}(A)21(B)24 (C)14 (D)2834.以下程序运行结果是 D 。

main(){int a[]={1,2,3,4,5,6,7,8,9},i,j,k;for(i=0,j=8;i<j;i++,j--){k=a[i];a[i]=a[j];a[j]=k;}printf(“%d\n”,a[1]+a[5]);}(A)11 (B)12 (C)13 (D)1435.以下程序运行结果是 C 。

main(){int x[]={1,2,3},s,*p=x,i;for(i=0,s=1;i<3;i++,p++)s*=*p;printf(“%d\n”,s);}(A)2 (B)4 (C)6(D)8 三阅读填空(每小空2分,共20分)1.计算球的体积。

main(){float r,v;scanf(“ %f”,&r);v=4*3.14*r*r*r/3 ;printf(“v=%6.2f\n”,v);}2.判断质数。

#include<math.h>main(){int i,flag=1,n;scanf(“%d”,&n);for(i=2;i<=sqrt(n);i++)if( n%i==0 ){flag=0;break;}if( found==1 )printf(“%d是质数\n”,n);elseprintf(“%d不是质数\n”,n);}3.计算数组中元素的平均值。

main(){float average(int a[]);int a[10],i;float aver;for(i=0;i<10;i++)scanf(“%d”,&a[i]);aver= average(a) ;printf(“average is %6.2f”,aver);}float average(int a[]){int sum=0,i;float aver;for(i=0;i<10;i++)sum=sum+a[i] ;aver=sum/10;return aver ;}4.统计字符串中字母的个数。

相关文档
最新文档