中国石油大学(北京)C语言习题册模拟1答案

中国石油大学(北京)C语言习题册模拟1答案
中国石油大学(北京)C语言习题册模拟1答案

模拟一

一、选择题(每题2分,共20分)

1、D

2、D

3、A

4、C

5、D

6、A

7、A

8、A

9、C 10、B

二、读程序写结果(每题3分,共21分)

1、9,11,9,10

2、>=60<60error

3、9,3

4、45

5、*+++*

+*+*+

++*++

+*+*+

*+++*

6、7,14

7、hina

ina

na

三、程序填空(每空2分,共20分)

1、(1) N/2 (2) a[N-1-k] (3) k

2、(1) pn(x,n) (2) 1 (3) x (4) ((2*n-1)*x*pn(x,n-1)-(n-1)*pn(x,n-2))/n

3、 (1) *max=i (2) *min=i (3) a,&max,&min

四、填空题(每空1分,共10分)

1、2

2、 1 0

3、指向函数的指针,该函数返回一个整型值

4、(a+b)/2+pow(x,y)

5、3

6、 ASCII码文件二进制文件

7、 p1->next=p; p->next=p2;

五、编程题(第1题9分,第2、3题各10分,共29分)

1、定义1分,输出3分,处理5分

main()

{ int i,i1,i2,i3;

for(i=100;i<1000;i++)

{ i1=i/100;

i2=i/10%10;

i3=i%10;

if(i==i1*i1*i1+i2*i2*i2+i3*i3*i3)

printf("%5d",i);

}

}

2、定义1分,输入2分,输出3分,处理4分

main()

{ int a[5][6],b[5]={0},i,j;

for(i=0;i<5;i++)

for(j=0;j<6;j++)

scanf("%d",&a[i][j]);

for(i=0;i<5;i++)

for(j=0;j<6;j++)

b[i]=b[i]+a[i][j];

for(i=0;i<5;i++)

{ for(j=0;j<6;j++)

printf("%5d",a[i][j]);

printf("%10d\n",b[i]);

}

}

3、输入1分,输出1分,两个函数各3分,函数调用2分int prime(int m)

{ int i;

for(i=2;i

if(m%i==0) return 0;

return 1;

}

void sort(int a[],int n)

{ int i,j,t;

for(i=0;i

for(j=i+1;j

if(a[i]>a[j])

{ t=a[i]; a[i]=a[j]; a[j]=t;}

}

main()

{ int a[20],b[20],i,j,n=0; for(i=0;i<20;i++)

scanf("%d",&a[i]);

for(i=0;i<20;i++)

if(prime(a[i])!=0)

{ b[n]=a[i]; n++;} sort(b,n);

for(i=0;i

printf("%5d",b[i]); }

c语言试卷第二套

以下叙述中正确的是(D)。 A.C语言中的函数不可以单独进行编译 B.C语言的源程序不必通过编译就可以直接运行 C.C源程序经编译形成的二进制代码可以直接运行 D.C语言中的每条可执行语句最终都将被转换成二进制的机器指令 若有说明语句:char c='\72';则变量c(D)。 A.说明不合法,c的值不确定 B.包含2个字符 C.包含3个字符 D.包含1个字符 定义字符变量c1的值是'A',c2的值是'D'. 执行语句printf("%d,%d",c1,c2-2);后,输出结果是(A)。 A.65,66 B.65,68 C.A,68 D.A,B 若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值为"假",则以下不能满足要求的表达式是(D)。 A.A%2==1 B.A%2 C.!(A%2==0) D.!(A%2) 为了避免在嵌套的条件语句 if-else 中产生二义性,C语言规定: else子句总是与(A)配对。 A.其之前最近的if B.其之后最近的if C.同一行上的if D.缩排位置相同的if 下面程序段运行的结果是(A). x=-1; do{ x=x*x; }while (!x); A.循环执行一次 B.有语法错误 C.死循环 D.循环执行两次 以下正确的描述是(A). A.只能在循环体内和switch语句内使用break语句 B.continue语句的作用是终止整个循环的执行 C.从多层嵌套的外层循环中退出时,只能使用goto语句

D.在循环体内使用break和continue语句的作用相同 以下不能正确定义二维数组的选项是(A)。 A.int a[2][]={{1,2},{3,4}}; B.int a[2][2]={{1},2,3}; C.int a[2][2]={{1},{2}}; D.int a[][2]={1,2,3,4}; char a[10];不能将字符串"abc"存储在数组中的是(B)。 A.int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0; B.a="abc"; C.strcpy(a,"abc"); D.a[0]=0;strcat(a,"abc"); 在C语言中,引用数组元素时,其数组下标的数据类型允许是(B)。 A.整型常量 B.整型常量或整型表达式 C.整型表达式 D.任何类型的表达式 在定义全局变量和局部静态变量的同时赋值,变量的初始化在(C)时确定的. A.运行 B.编辑 C.编译 D.调试 以下不正确的说法是:C语言规定(C)。 A.实参可以是常量,变量或表达式 B.实参可以为任何类型 C.形参可以是常量,变量或表达式 D.形参应与其对应的实参类型一致 C语言程序中必须有的函数是(B)。 A.#include "stdio.h" B.main C.printf D.scanf 在"文件包含"的预处理中,被包含的文件应是(A). A.文本文件 B.可执行文件 C.目标文件 D.二进制文件 若有说明:int *p,m=5,n;以下正确的程序段是(D)。 A.scanf("%d",&n);*p=n; B.p=&n;scanf("%d",*p)

上海理工大学 C语言 第二套试题

注意: 1. 本练习时间为1小时,如有多余时间请完成实验5 2. 请单号的机器完成A 卷测试题,双号机器完成B 卷测试题 3. 以自己学号为文件夹名,并上传1.cpp,2.cpp,3.cpp 3个源代码文件 A 卷测试题目(机器号为单号学生完成) 1. 输入两个值分别为a,b,请输出ab b 42 的值, 程序保存为1.cpp. 2. 编写程序,判断输入的两个小数是否相互等, 程序保存为2.cpp. 3.编写程序, [问题的描述] 百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现有100元钱要买100只鸡,列出所有可能的购鸡方案。 程序保存为3.cpp. B 卷测试题目(机器号为双号学生完成) 1. 编写程序 [问题的描述] 有2个变量,分别存入2个不同的整数,有人试图将这2个变量中的值互换。 [案例] 原始状态为:x=5 y=6 互换后的状态为:y=6 x=5 程序只允许定义两个变量,程序保存为1.cpp.

2.编写程序,连续输入10个值,请输出输入值的最大值和最小值, 程序保存为2.cpp. 3.[问题的描述] 打印出下图所示的杨辉三角形 两个未知数和的幂次方运算后的系数问题,比如(x+y)的平方=x的平方+2xy+y的平方,这样系数就是1,2,1这就是杨辉三角的其中一行,立方,四次方,运算的结果看看各项的系数,这就是杨辉三角,也叫贾宪三角,2项式乘方展开式的系数规律。如图,在贾宪三角中,第3行的第三个数恰好对应着两数和的平方公式依次类推,杨辉三角是一个由数字排列成的三角形数表,一般形式如下图所示。 [案例] 输出10行的图

C语言试卷第2套 含答案

第二套试题 一、判断题 第1题:C语言允许直接访问物理地址。参考答案:对第2题:在标准C语言中,共用体变量中的各成员的首地址是不一样的。参考答案:错第3题:全局变量的作用域一定比局部变量的作用域范围大参考答案:错 第4题:C语言的源程序不必通过编译就可以直接运行参考答案:错 第5题:指针变量与变量的指针都与地址有关参考答案:对 第6题:C语言的函数可以嵌套定义参考答案:错 第7题:局部变量的作用域是当前文件。参考答案:错 第8题:在标准C语言中,宏替换是程序运行时完成的。参考答案:错 第9题:在标准C中,“=”是判断两个数是否相等。参考答案:错 第10题:C语言编译时不检查语法参考答案:错 二、选择题(请选择正确的选项) 第1题:以下程序的输出结果是 main( ) { int n=4; while(n--) printf("%d ",--n); } 参考答案:A A、2 0 B、3 1 C、3 2 1 D、2 1 0 第2题:数组定义为int a[3][2]={1, 2, 3, 4, 5, 6},数组元素_____的值为6。 参考答案:B A、a[3][2] B、a[2][1] C、a[1][2] D、a[2][3] 第3题:字符串指针变量中存入的是 参考答案:A A、字符串的首地址 B、字符串 C、第一个字符 D、字符串变量 第4题:下列表达式的值为0的是() 参考答案:C A、3﹪5 B、3/5.0 C、3/5 D、3<5 第5题:C语言中以追加方式打开一个文件应选择_______________参数参考答案:D A、“r” B、“w” C、“rb” D、“a” 第6题:C语言中while和do-while循环的主要区别是 参考答案:A A、do-while循环体至少无条件执行一次 B、while的循环控制条件比do-while循环控制条件严格 C、do-while循环允许从外部转到循环体内 D、do-while循环体不能是复合语句

c语言模拟题目第十七套

第十七套 设a=12,且a定义为整型变量。执行语句a+=a-=a*=a;后a的值为()。 A、0 B、144 C、132 D、12 【参考答案】错误 A 【学生答案】 [未答此题] 设变量定义为"int a, b;",执行下列语句时,输入( ),则a和b的值都是10. scanf("a=%d, b=%d",&a, &b); A、a=10, b=10 B、a=10 b=10 C、10, 10 D、10 10 【参考答案】错误 A 【学生答案】 [未答此题] main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++; } printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、a=1,b=1 B、a=1,b=0 C、a=2,b=2 D、a=2,b=1 【参考答案】错误 D 【学生答案】 [未答此题] 执行下列语句后的输出为()。

int j=-1; if(j<=1) printf("****\n"); else printf("%%%%\n"); A、%%%% B、**** C、有错,执行不正确 D、%%%%c 【参考答案】错误 B 【学生答案】 [未答此题] 以下正确的描述是( ). A、只能在循环体内和switch语句内使用break语句 B、continue语句的作用是终止整个循环的执行 C、从多层嵌套的外层循环中退出时,只能使用goto语句 D、在循环体内使用break和continue语句的作用相同 【参考答案】错误 A 【学生答案】 [未答此题] 设有如下程序段: int k=10; while(k==0) k--; 则下述说明中正确的是( ). A、循环体一次也不执行 B、循环体执行一次 C、死循环 D、循环体执行10次 【参考答案】错误 A 【学生答案】 [未答此题] 对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是()。 A、将5个初值依次赋给a[6]至a[10] B、将5个初值依次赋给a[0]至a[4] C、因为数组长度与初值的个数不相同,所以此语句不正确 D、将5个初值依次赋给a[1]至a[5] 【参考答案】错误 B

c语言模拟题目第二十套

第二十套 下列程序段的输出结果为()。 float x=213.82631; printf("%3d",(int)x); A、213.82 B、213.83 C、213 D、3.8 【参考答案】错误 C 【学生答案】 [未答此题] a,b为整型变量,二者均不为0,以下关系表达式中恒成立的是()。 A、a/b*b+a%b==a B、a/b*b==a C、a*b/a*b==1 D、a/b*b/a==1 【参考答案】错误 A 【学生答案】 [未答此题] int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c; 则a的值为()。 A、3 B、2 C、1 D、不一定 【参考答案】错误 C 【学生答案】 [未答此题] C语言的switch语句中case后( )。 A、可为任何量或表达式 B、可为常量或表达式或有确定值的变量及表达式 C、只能为常量或常量表达式 D、只能为常量 【参考答案】错误 C 【学生答案】 [未答此题]

设j和k都是int类型,则下面的for循环语句( )。 for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k); A、最多执行9次 B、是无限循环 C、循环体一次也不执行 D、最多执行10次 【参考答案】错误 D 【学生答案】 [未答此题] 以下程序中,while循环的循环次数是( ). main() { int i=0; while(i<10) { if(i<1) continue; if(i==5) break; i++; } } A、1 B、6 C、死循环,不能确定次数 D、4 【参考答案】错误 C 【学生答案】 [未答此题] 以下不能对二维数组a进行正确初始化的语句是()。 A、int a[2][3]={{1,2},{3,4},{5,6}}; B、int a[][3]={{1,2},{0}}; C、int a[2][3]={0}; D、int a[][3]={1,2,3,4,5,6}; 【参考答案】错误 A 【学生答案】 [未答此题] 下面函数调用语句中,fun含有实参的个数为( ). fun((x,y),(x+y,z,x/y));

c语言模拟题目第三套

第三套 若x,i,j,k 都是int型变量,则计算x=(i=4,j=16,k=32)后,x的值为:( ). A、52 B、16 C、4 D、32 【参考答案】错误 D 【学生答案】 [未答此题] 执行以下程序段后,输出结果和a的值是()。 int a=10; printf("%d",a++); A、11 和 10 B、10 和 11 C、11 和 11 D、10 和 10 【参考答案】错误 B 【学生答案】 [未答此题] 以下程序的输出结果是:( ) main() {int m=5; if(m++>5) printf("%d\n",m); else printf("%d\n",m--); } A、6 B、5 C、7 D、4 【参考答案】错误 A 【学生答案】 [未答此题] 执行下面程序段后,i的值是( ). int i=10; switch(i) {case 9: i+=1;

case 10: i--; case 11: i*=3; case 12: ++i; } A、28 B、10 C、9 D、27 【参考答案】错误 A 【学生答案】 [未答此题] 下面有关 for 循环的正确描述是( )。 A、for 循环是先执行循环体语句,后判断表达式 B、在 for 循环中,不能用 break 语句跳出循环体 C、for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 D、for 循环只能用于循环次数已经确定的情况 【参考答案】错误 C 【学生答案】 [未答此题] 针对下列程序段回答问题( ). for(t=1;t<=100;t++) { scanf("%d",&x); if(x<0) continue; printf("%3d",t); } A、x>=0时什么也不输出 B、最多允许输出100个非负整数 C、printf函数永远也不执行 D、当x<0时整个循环结束 【参考答案】错误 B 【学生答案】 [未答此题] 若char a[10];已正确定义,以下语句中不能从键盘上给a数组的 所有元素输入值的语句是()。 A、for(i=0;i<10;i++)a[i]=getchar(); B、scanf("%s",a); C、gets(a);

C语言试题第2套

一、选择题 11. 以下选项中合法的标识符是______。 A: 1_1 B: 1—1 C: _11 D: 1_ _ 12. 若函数中有定义语句:int k;,则______。 A: 系统将自动绐K赋初值0 B: 这时K中的值无定义 C: 系统将自动绐K赋初值-1 D: 这时K中无任何值 13. 以下选项中,能用作数据常量的是______。 A: 0115 B: 0118 C: 1.5e1.5 D: 115L 14. 设有定义:int x=2;,以下表达式中,值不为6的是______。 A: x*=x+1 B: x++,2*x C: x*=(1+x) D: 2*x,x+=2 15. 程序段:int x=12;doub1e y=3.141593;printf("%d%8.6f"x,y);的输出结果是______。 A: 123.141593 B: 12 3.141593 C: 12,3.141593 D: 123,1415930 16. 若有定义语句:doub1e x,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是______。 A: scanf("%f%f"&x,& y); B: scanf("%f%f"&x,& y); C: scanf("%1f%lf",px,y); D: scanf("%lf%lf",x,y); 17. 以下是if语句的基本形式: if(表达式) 语句其中“表达式”______。 A: 必须是逻辑表达式 B: 必须是关系表达式 C: 必须是逻辑表达式或关系表达式 D: 可以是任意合法的表达式 18. 有以下程序 #include <stdio.h> main() { int x; scanf("%d",&x); if(x<=3) else if(x!=1O) printf("%d\n",x); } 程序运行时,输入的值在______范围才会有输出结果。

C语言第二套题

在C程序中,语句之间必须要用分号”;“分隔. Y 第2题- 1.0分 C语言规定,在一个源程序中,main函数的必须在最开始. N 第3题- 1.0分 C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。 Y 第4题- 1.0分 在C语言中8.9e1.2是不正确的实型常量, Y 第5题- 1.0分 一个字符变量只能存储个字符. Y 第6题- 1.0分 语句printf("%f%%",1.0/3);输出为0.333333. N 第7题- 1.0分 7&3+ 12的值是15. N 第8题1.0分 若a=3,b=2,c=1则关系表达式"(a>b)==c"的值为"真". Y 第9题- 1.0分 在C程序中,赋值运算符的优先级最低 N 第10题- 1.0分 int a=10;printf("%d",a++ );输出11. N 第11题- 1.0分 x*=y+8等价于x=x*(y+8). Y 第12题- 1.0分 若a是实型变量,C程序中允许以下赋值a= 10;因此实型变量中允许存放整型数据. N 第13题- 1.0分 int i=3,j=5; if(i>j);j++; else i+ +;是正确的. N 第14题- 1.0分 int i=3j=5; if(i> j);是正确的. Y 第15题- 1.0分 int a=1,b=2,c=3;if(a> b)a=b;f(la> c)a=c测a的值为3. N 第16题- 1.0分 在C语言中,逻辑"真”等价于不等于0的数。 Y 第17题- 1.0分 if(strcmp(temp,str)> 0)中的条件是当字符串temp大于字符串str为真时. Y 第18题- 1.0分 continue语句不只用于循环语句中。 N 第19题- 1.0分 while和for循环都是先判断表达式的值,后执行循环体语句. Y 第20题- 1.0分 数组定义int a(10);是正确的 N 第21题- 1.0分 数组名是一个不可变的地址常量,不能对它进行赋值运算. Y

c语言上机模拟题1

1.按照计算机应用领域分类,学校使用的成绩管理系统属于_______。 A. 实时控制 B. 计算机辅助设计 C. 数据处理 D. 科学计算 参考答案:C 2.下面关于计算机系统的叙述中,完整的计算机系统通常是指______。 A. 计算机的硬件系统 B. 计算机上配置的操作系统 C. 计算机的软件系统 ! D. 由硬件系统和软件系统组成 参考答案:D 3.微型计算机的微处理芯片上集成的主要组件包括______。 A. 控制器和运算器 B. 内存和控制器 C. 控制器和存储器 D. 运算器和I/O接口 参考答案:A 的对话框窗口不可以______。 A. 关闭

【 B. 移动 C. 任意改变大小 D. 最小化 参考答案:C 5.某用户在域名为的邮件服务器上申请了一个账号,账号名为xing,那么该用户的电子邮件地址为______。 A. xing%参考答案:D 6.下列对C语言程序的描述中,正确的是_______。 A. C语言程序总是从第一个定义的函数开始执行 B. C语言程序总是从最后一个定义的函数开始执行 C. C语言程序总是从main()函数开始执行 < D. C语言程序中的main()函数必须放在程序的开始部分 参考答案:C 7.设有char ch='\\';,则变量ch包含______个字符。 A. 1 B. 2 C. 3 D. 4 参考答案:A 8.以下选项中合法的字符常量是____________。 A. '\101' {

B. '\97' C. '\xyz' D. '\019' 参考答案:A 9.下面用户标识符中合法的是____________。 A. iPhone# B. 13a C. char D. _int 参考答案:D ( 10.已知int c1=5,c2=2,c3;,则执行c3=c1/c2后,c3的值是 _______。 A. 5 B. C. 3 D. 2 参考答案:D 11.设有定义int b=0;,表达式_______与其它表达式的值不相同。 A. b+=1 B. b++ C. ++b

c语言模拟题目第十套

第十套 以下不正确的叙述是()。 A、在C程序中所用的变量必须先定义后使用 B、当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值 C、程序中,APH和aph是两个不同的变量 D、若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变 【参考答案】错误 B 【学生答案】 [未答此题] 设: long w=65535,t=7654321; 根据下面的输出结果,正确的程序段是( ). w=65535,t=7654321 end A、printf("w=%5d,t=%7d\n",w,t);printf("%s","end'); B、printf("w=%5ld,t=%7ld",w,t);printf("%c","end"); C、printf("w=%5ld,t=%7ld\n",w,t);printf("%s","end"); D、printf("w=%5u,t=%7u\n",w,t);printf( "end"); 【参考答案】错误 C 【学生答案】 [未答此题] 不合法的if语句是:( ) A、if(表达式) 语句1 else 语句2 B、if(表达式) 语句 C、if(表达式1) 语句1 else if(表达式2)语句2 else 语句3 D、if 关系表达式语句1 else 语句2 【参考答案】错误 D 【学生答案】 [未答此题] 在C语言中,if语句后的一对圆括号中,用以决定分支的流程的表达式()。 A、只能用逻辑表达式或关系表达式 B、只能用关系表达式 C、可用任意表达式

D、只能用逻辑表达式 【参考答案】错误 C 【学生答案】 [未答此题] 以下语句中,循环次数不为10次的语句是( )。 A、for(i=1;i<10;i++); B、i=1;do{i++;}while(i<=10); C、i=10;do{i- -;}while(i>0); D、i=10;while(i>0){--i;} 【参考答案】错误 A 【学生答案】 [未答此题] 下面程序的运行结果是( ). #include "stdio.h" void main() { int a=1,b=10; do{ a++; b-=a; }while(b-->0); printf("a=%d,b=%d",a,b); } A、a=4,b=-2 B、a=4,b=-1 C、a=2,b=-1 D、a=2,b=-2 【参考答案】错误 A 【学生答案】 [未答此题] 若有说明: int a[][4]={0,0};则下面不正确的叙述是()。 A、有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0 B、数组a的每个元素都可得到初值0 C、二维数组a的第一维大小为1 D、因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1 【参考答案】错误 A

c语言模拟题目第八套

第八套 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。 A、6 B、-12 C、9 D、-3 【参考答案】错误 B 【学生答案】 [未答此题] 求平方根函数的函数名为()。 A、abs B、pow C、sqrt D、cos 【参考答案】错误 C 【学生答案】 [未答此题] int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c; 则a的值为()。 A、3 B、2 C、1 D、不一定 【参考答案】错误 C 【学生答案】 [未答此题] 执行下面程序段后,f的值是:( ) int f=5; switch(f) {case 5:f+=1; case 6:f--; case 7:f*=3;break; case 8:++f; } A、15 B、10 C、28

D、9 【参考答案】错误 A 【学生答案】 [未答此题] 在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的表达式是( )。 A、(E>0||E<0) B、(E==0) C、(!E==0) D、(E!=0) 【参考答案】错误 B 【学生答案】 [未答此题] 能够完成求出两个正整数a,b最小公倍数max的程序段.请在下划线处填写正确内容( )。if(a>=b) t=a; else t=b; for(i=t; ;i++) if(i%a==0&&i%b==0) ___________ printf("%d",max); A、{max=i;continue;} B、max=i;break; C、max=i;continue; D、{max=i;break;} 【参考答案】错误 D 【学生答案】 [未答此题] 以下能对一维数组a进行正确初始化的语句是()。 A、int a[10]={}; B、int a[]={0}; C、int a[10]={10*1}; D、int a[10]=(0,0,0,0,0) 【参考答案】错误 B 【学生答案】 [未答此题] 以下只有在使用时才为该类型变量分配内存的存储类说明是()。

c语言模拟题目第十八套

第十八套 以下正确的指数表示方法是()。 A、1.23e11 B、4.5e-5.6 C、8.5e4288 D、e-32 【参考答案】错误 A 【学生答案】 [未答此题] 设有以下变量定义 float a; int i; 选择正确的输入语句是( ); A、scanf ("%f%d", a,i); B、scanf ("%6.2f%d", &a,&i); C、scanf ("%f%d", &a,&i); D、scanf ("%f%u", &a,&i); 【参考答案】错误 C 【学生答案】 [未答此题] 为了避免在嵌套的条件语句 if-else 中产生二义性,C语言规定:else子句总是与()配对。 A、其之前最近的未配对的if B、其之后最近的if C、同一行上的if D、缩排位置相同的if 【参考答案】错误 A 【学生答案】 [未答此题] 以下程序的输出结果是:( ) main() {int m=5; if(m++>5) printf("%d\n",m); else printf("%d\n",m--); } A、6 B、5

C、7 D、4 【参考答案】错误 A 【学生答案】 [未答此题] 以下程序段的输出结果为( )。 for(i=4;i>1;i--) for(j=1;j

C语言程序设计模拟题(含答案).doc

C语言程序设计试题 一、单项选择题(本题共 25 小题,每小题 2 分,共 50 分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其正确答案涂写在答题卡 上。错选、多选或未选均无分。 1.以下正确的 C 语言自定义标识符是 __A____。 A. _1a B. 2a_ C. do D. 2.在 C 语言中,错误的常数表示是 ___D____。 A. 0L C. '6' D. 设 int a, x=2; 执行语句 a=x>03*x:x=10 ;后,变量x 的值是 ___B____。 A. 1 B. 2 C. 6 D. 10 4.设有以下程序段: int x=2,y=2,z=0,a; a=++x||++y&&z++; printf("%d,%d,%d\n",x,y,z); 执行后输出的结果是 ___C______。 A.2,2,0 B. 3, 3,1 C.3,2,0 D.3,2,1 5. 在 C 语言中,字符串"\\TOP\t\65\""的长度是__B_____。 A. 5 B. 7 C. 8 D. 12 6. 设 float x ,由键盘输入: , 能正确读入数据的输入语句是 ___C_____A_。 A. scanf("%5f",&x) B. scanf("%5d",&x); C. scanf("%f",x); D. scanf("%s",&x); 7.逗号表达式a=2*6,a*3,a+5的值是___B______。

A. 12 B. 17 C. 36 D. 41 8.C 语言程序中 , 整型常量的书写形式不包括 ___A______。 A.二进制 B.八进制 C. 十进制 D.十六进制 9.在C语言中,下列运算符中结合性属于自右向左的是________B_。 A. && B. -- C.<< D. -> 10.设int x;,则与计算︱x︱等价的表达式是___B______。 A. x>0-x:x B. x>0x:-x C. x<0x:-x D. x<0-x:-x 11.执行下面的程序段后, k 的值是 __A_____B。 int k=1,n=325; do { k*=n%10;n/=10;}while(n); A. 3 B. 30 C. 523 D. 325 12. 表达式的值为0 的是 ________C_。 A. 5/5%5 B. 5>2 C. !4 D. 0x7&&7 13. 设 int a=11, b=2 ;执行下述程序段后,变量 a 和 b 的值分别是 ___B____。 do { a/=b++; }w hile(a>b); A. 1,3 B. 1,4 C. 2,3 D. 2,4 14.在C语言中,下列错误的说法是_______C。 A.函数可以递归调用

C语言模拟题

C语言模拟题(一) 一、选择题 1、以下字符中不是转义字符的是(A )。 A、'\c' B、'\b' C、'\\' D、'\a' 2、设a=12,且a定义为整型变量。执行语句a+=a-=a*=a;后a的值为(A)。 A、0 B、144 C、132 D、12 3、已定义float x=1.25,y=3.37; 根据下面的输出结果,正确的输出语句是(C ). y+x=4.62,y-x=2.12 A、printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x); B、printf("y+x=%f,y-x=%f\n",y+x,y-x);,l C、printf("y+x=%.2f,y-x=%.2f\n",y+x,y-x); D、printf("y+x=%5.2f,y=%5.2f\n",y+x,y-x); 4 、执行下面程序段后,b的值为(A ). int s=35; char t='A'; int b; b=((s&&4)&&(t<'a')); A、1 B、3 C、2 D、0 5 k是整型,则以下程序段的执行结果是:(B ) k=-3; if(k<=0) printf("####") else printf("&&&&"); A、#### B、有语法错误,无结果 C、&&&& D、####&&&& 6 设j和k都是int类型,则下面的for循环语句(D)。 for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k); A、最多执行9次 B、是无限循环

C、循环体一次也不执行 D、最多执行10次 7 以下正确的描述是(A ). A、只能在循环体内和switch语句内使用break语句 B、continue语句的作用是终止整个循环的执行 C、从多层嵌套的外层循环中退出时,只能使用goto语句 D、在循环体内使用break和continue语句的作用相同 8 以下能对一维数组a进行正确初始化的语句是(B)。 A、int a[10]={}; B、int a[]={0}; C、int a[10]={10*1}; D、int a[10]=(0,0,0,0,0) 9 以下正确的说法是(A ). A、函数的类型决定返回值的类型 B、定义函数时,形参的类型说明可以放在函数体内 C、return后面不能为表达式 D、如果形参与实参的类型不一致,以实参类型为准 10 以下程序的输出结果为(C)。 int func(int x,int y) { return(x+y); } main() { int a=1,b=2,c=3,d=4,e=5; printf("%d\n",func((a+b,b+c,c+a),(d+e))); } A、9 B、15 C、13 D、函数调用出错 11 以下正确的说法是(D)。 A、用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 B、用户若需调用标准库函数,调用前必须重新定义 C、系统根本不允许用户重新定义标准库函数 D、用户可以重新定义标准库函数,若如此,该函数将失去原有含义 12 在#include命令中,文件名可用双引号或尖括号括起来,对于二者的下列说法中正确的是 (A ). A、用尖括号时,直接按系统标准方式检索文件目录. B、用双引号时,直接按系统标准方式检索文件目录. C、用双括号和尖括号时,都不检查源文件所在的文件目录. D、以上说法都不对. 13 当说明一个结构体变量时系统分配给它的内存是(D)。 A、成员中占内存量最大者所需的容量 B、结构中第一个成员所需内存量

大连理工大学C语言题库(12套)

【第一套】 一、单项选择 1.下列数据中,为字符串常量的是(D)。 A、'A' B、How do you do. C、$abc D、"house" 2.以下所列的C语言常量中,错误的是(b )。 A、0xFF B、1.2e0.5 C、2L D、'\72' 3.以下程序的输出结果是(D)。 main() {float x=3.6; int i; i=(int)x; printf("x=%f,i=%d\n",x,i); } A、x=3.600000,i=4 B、x=3 i=3.600000 C、x=3,i=3 D、x=3.600000,i=3 4.若k是整型,则以下程序段的执行结果是:(B ) k=-3; if(k<=0) printf("####"); else printf("&&&&"); A、#### B、有语法错误,无结果 C、&&&& D、####&&&& 5.若x=2,y=3则x||y的结果是(C )。 A、3 B、0 C、1 D、2 6.针对下列程序段回答问题(B ). for(t=1;t<=100;t++) {

scanf("%d",&x); if(x<0) continue; printf("%3d",t); } A、x>=0时什么也不输出 B、最多允许输出100个非负整数 C、printf函数永远也不执行 D、当x<0时整个循环结束 7.以下程序的执行结果是(B )。 main() { int num = 0; while( num <= 2 ) { num++; printf( "%d,",num ); } } A、0,1,2 B、1,2,3, C、1,2,3,4, D、1,2, 8.选择正确的输入语句(d )。:(其中:char string[20];)使得string的内容为"I am student". A、scanf("%s", string); B、scanf("%c", &string); C、scanf("%s", &string); D、gets(string); 9.对以下说明语句int a[10]={6,7,8,9,10}; 的正确理解是(B)。 A、将5个初值依次赋给a[6]至a[10] B、将5个初值依次赋给a[0]至a[4] C、因为数组长度与初值的个数不相同,所以此语句不正确 D、将5个初值依次赋给a[1]至a[5] 10.以下标识符中可以作为用户函数名的是( d). A、struct B、int C、union D、go_to 11.以下叙述错误的是(b). A、函数调用可以出现在一个表达式中 B、函数调用可以作为一个函数的形参 C、函数调用可以作为一个函数的实参 D、函数允许递归调用 12.若用数组名作为函数的实参,传递给形参的是(B)。 A、数组第一个元素的值

第二套二级C语言模拟题

全国高等学校(安徽考区)计算机水平考试 2016模拟题(二级C语言) 第二套模拟 一、单项选择题 1:有关计算机的主要特性,下列叙述错误的是_______。 A. 处理速度快,计算精度高 B. 存储容量大 C. 逻辑判断能力一般 D. 网络和通信功能强 参考答案:C 2:下列四个二进制数中,______与十进制数73等值。 A. 1110111 B. 1001100 C. 1110110 D. 1001001 参考答案:D 3:Cache的中文译名是______。

A. 缓冲器 B. 只读存储器 C. 可编程只读存储器 D. 高速缓冲存储器 参考答案:D 4:在Windows中,下面关于删除文件的描述错误的是______。 A. 可以将文件复制到回收站中 B. 可以不经过回收站直接将文件删除 C. 硬盘上的文件被删除后,可以从回收站中还原 D. 利用"清空回收站"选项可以把回收站中的文件全部删除参考答案:A 5:通常所说的“带宽”指的是数据通信中的______指标。 A. 平均数据传输速率 B. 最高数据传输速率 C. 每分钟数据流量 D. 最低数据传输速率 参考答案:B 6:下列关于C语言程序书写规则的说法中正确的是______。

A. 不区分大小写字母 B. 一行只能写一条语句 C. 一条语句可分成几行书写 D. 每行必须有行号 参考答案:C 7:下列定义语句中,正确的是_______。 A. char a='A' b='B'; B. float a=b=6.5; C. int a=10,*b=&a; D. float *a,b=&a; 参考答案:C 8:下列是合法的C语言常量的是______。 A. 028 B. 2.5e2 C. 3e2.5 D. 5A 参考答案:B

二级C语言模拟题10详解

一、选择题 1.C语言中,复合语句的构成是将一系列语句置于()。 A)begin与end之间B)一对圆括号”()”之间 C)一对圆括号”{}”之间D) 一对圆括号”[]”之间 答案:C,复合语句要放在{}之间 2.C语言的字符型数据在内存中的存储形式是()。 A)原码B)补码C)反码D)ASCII码 答案:D,字符数据存储格式为ASCII码 3.下面关于C语言变量的叙述中,错误的是()。 A)可以用const关键字定义变量B)在C程序中,SUM和sum是不同的变量 C)变量名必须由字母或下划线开头D)变量的类型确定了变量的取值范围 答案:A,const关键字表示常量,只能定义常量,不能定义变量。 4.若有定义:int i=3,k;则语句k=(i--)+(i--);运行后k的值是()。 A)4 B)5 C)6 D)7 答案:C,两个i—都是3,最后答案就是6 5.若已定义:int a=5;float b=63.72;以下语句中能输出正确值的是( )。 A)printf(“%d %d”,a,b); B)printf(”%d %.2f”,a,b); C)printf(”%.2f %.2f”,a,b); D)printf(”%.2f %d”,a,b); 答案:B,注意到b是浮点型数据,不能用%d,AD就错了,而a是整形数据,不能用%f,C就错了,所以选B。 6. C语言中,能正确表示条件1010 || x<20 C)x>10 && <20 D)(x>10)&&(x<20) 答案:D,重要考点,记住要用逻辑与 7. 在下列运算符中,优先级最高的运算符是 ( ). A)<= B)!= C)! D)|| 答案:C,单目运算符优先级最高。 8. 下面关于switch语句的叙述中,错误的是()。 A)case后面的表达式可以是关系表达式 B)switch语句是多分支选择语句 C)每一个case后面的值必须互不相同,否则会出现互相矛盾的现象 D)在执行一个case分支后,可用一个break语句使流程跳出switch语句 答案:A,case后面只能是int或char型数据,不能是表达式。 9.以下程序段执行后变量sum的值为()。 int i,j=1,sum=0; for(i=1;i<=3;i++) {sum+=j; j++;} A)5 B)3 C)6 D)4 答案:C,1+2+3=6 10.下面关于数组的叙述中,正确的是()。 A)数组必须先定义,然后使用B)定义数组时,可不加类型说明符 C)定义数组后,可通过赋值运算符”=”对该数组名直接赋值D)在数据类型中,数组属基本类型答案:A,所有数据类型都需要先定义后使用。B错,要加类型,C错,定义数组后,不能用赋值语句对数组名赋值。D错,数组属于构造类型。 11.以下程序段运行后s的值是()。 int a[3][3]={1,2,3,4,5,1,2,3,4}; int i,,j,s=1; for(i=1;i<3;i++)

C语言模拟题

一、单项选择题 1、以下字符中不是转义字符的是(A)。 A、'\c' B、'\b' C、'\\' D、'\a' 2、设a=12,且a定义为整型变量。执行语句a+=a-=a*=a;后a的值为(A)。 A、0 B、144 C、132 D、12 3、已定义float x=1.25,y=3.37; 根据下面的输出结果,正确的输出语句是(C). y+x=4.62,y-x=2.12 A、printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x); B、printf("y+x=%f,y-x=%f\n",y+x,y-x); C、printf("y+x=%.2f,y-x=%.2f\n",y+x,y-x); D、printf("y+x=%5.2f,y=%5.2f\n",y+x,y-x); 4、执行下面程序段后,b的值为(A). int s=35; char t='A'; int b; b=((s&&4)&&(t<'a')); A、1 B、3 C、2 D、0 5、若k是整型,则以下程序段的执行结果是:(B) k=-3; if(k<=0) printf("####") else printf("&&&&"); A、#### B、有语法错误,无结果 C、&&&& D、####&&&& 6、设j和k都是int类型,则下面的for循环语句(D)。 for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k);

A、最多执行9次 B、是无限循环 C、循环体一次也不执行 D、最多执行10次 7、以下正确的描述是(A). A、只能在循环体内和switch语句内使用break语句 B、continue语句的作用是终止整个循环的执行 C、从多层嵌套的外层循环中退出时,只能使用goto语句 D、在循环体内使用break和continue语句的作用相同 8、以下能对一维数组a进行正确初始化的语句是(B)。 A、int a[10]={}; B、int a[]={0}; C、int a[10]={10*1}; D、int a[10]=(0,0,0,0,0) 9、以下正确的说法是(A). A、函数的类型决定返回值的类型 B、定义函数时,形参的类型说明可以放在函数体内 C、return后面不能为表达式 D、如果形参与实参的类型不一致,以实参类型为准 10、以下程序的输出结果为(C)。 main() {int a=1,b=2,c=3,d=4,e=5; printf("%d\n",func((a+b,b+c,c+a),(d+e))); } int func(int x,int y) { return(x+y); } A、9 B、15 C、13 D、函数调用出错 11、以下正确的说法是(D)。 A、用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 B、用户若需调用标准库函数,调用前必须重新定义 C、系统根本不允许用户重新定义标准库函数 D、用户可以重新定义标准库函数,若如此,该函数将失去原有含义 12、在#include命令中,文件名可用双引号或尖括号括起来,对于二者的下列说法中正确的是

相关文档
最新文档