C程序设计模拟卷答案
- 格式:doc
- 大小:42.00 KB
- 文档页数:2
《C程序设计》模拟试卷一、单项选择题(每题2分,共40分):1.以下叙述中正确的是________。
A)用C程序实现的算法可以既没有输入也没有输出。
B)用C程序实现的算法可以没有输入但必须有输出。
C)用C程序实现的算法可以没有输出但必须有输入。
D)用C程序实现的算法必须要有输入和输出操作。
2.以下4组用户定义的标识符中,全部合法的一组是________。
A)_main B)If C)txt D)inteneclude -main REAL k_2sin turbo 3COM _0013.有以下程序:#include <stdio.h>void main(){ int m,n,p;scanf(“m=%dn=%dp=%d”,&m,&n,&p);printf(“%d%d%d\n”,m,n,p);}若想从键盘上输入数据,使变量m中的值为123,n中的值是456,p中的值是789,则正确的输入是________。
A)m=123n=456p=789 B)m=123 n=456 p=789C)m=123,n=456,p=789 D)123 456 7894.有以下程序:#include <stdio.h>void main(){ int x=102,y=012;printf(“%2d,%2d\n”,x,y);}执行后输出的结果是________。
A)10,01 B)02,12 C)102,10 D)02,105.有以下程序:#include <stdio.h>void 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)44 B)43 C)3 D)26.有以下程序:#include <stdio.h>void main(){ int i;for(i=0;i<3;i++)switch(i){ case 0: printf(“%d”,i);case 2: printf(“%d”,i);default: printf(“%d”,i);}}程序运行后输出的结果是________。
《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是(D)。
A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。
A) MAIN B) _HJ C) 2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是(B)。
A) \r B) \n C) \b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为(B)。
A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 15、已知ch为字符型变量,下面表达式中正确的是(A)。
A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是(C)。
A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是(A)。
A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为(D)。
main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是(C)。
x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是(A)A) 数组的首地址 B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为( A ) A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是(A)A) char s[5]={"ABCD"}; B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是(B )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是(B)int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。
C语言模拟考试卷一、是非题(每小题1分,共5分)(1)若有说明:int a[][4] ={0,0}; 则二维数组a的第一维大小为1 BA)对B)错(2)判断char型变量cl是否为大写字母的正确表达式是(cl>= 'A')&&(cl<= 'Z')A A)对B)错(3)已知int a=1,b=-1; 则语句printf("%d\n", (a--, ++b)); 的输出结果是-1B A)对B)错(4)strcmp函数的功能是字符串的比较AA)对B)错(5)sizeof(float)是一个不合法的表达式BA)对B)错二、单项选择题(每小题3分,共75分)(1)下列关于C语言用户标识符的叙述中正确的是(A)。
A)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线,但可以出现下划线C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头(2)下列叙述中正确的是(B)。
A)C语言的函数可以嵌套调用B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言编译时不检查语法(3)以下4个选项中,不能看做一条语句的是(D)。
A); B)a=5,b=2.5,c=3.6;C)if(a<5); D)if(b!=5)x=2;y=6;(4)以下程序段的描述,正确的是(C)。
x=-1;do{x=x*x;}while(!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误(5)已知char ch=’C’;则以下表达式的值是(D)。
ch=(ch>=’A’ && ch<=’Z’)?(ch+32):ch;A)A B)a C)Z D)c(6)执行下面的程序段后,变量k中的值为(A)。
int k=3, s[2];s[0]=k; k=s[1]*10;A)不定值B)33 C)30 D)10(7)现有如下定义:int a, b, *p, *q;,则下列赋值语句错误的是(D)。
全国计算机等级考试《二级C语言程序设计》模拟试卷二[单选题]1.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是((江南博哥))。
A.外模式B.内模式C.概念模式D.逻辑模式参考答案:B参考解析:数据库管理系统的三级模式包括:①外模式,也称子模式、用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图;②模式,也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和;③内模式,也称存储模式、物理模式,是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。
答案选择B选项。
[单选题]4.下面不属于需求分析阶段任务的是()。
A.确定软件系统的功能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划参考答案:D参考解析:需求分析阶段的工作主要包括4个方面:①需求获取,其目的是确定对目标系统的各方面需求;②需求分析,对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型;③编写文档,编写需求规格说明书,编写初步用户使用手册;④确认测试计划,修改完善软件开发计划,需求评审。
制定软件集成测试计划属于概要设计阶段的任务。
答案选择D选项。
[单选题]5.结构化程序的三种基本控制结构是()。
A.顺序、选择和重复(循环)B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移参考答案:A参考解析:结构化程序设计中三种基本控制结构为顺序、选择和重复(循环)。
答案选择A选项。
[单选题]6.构成计算机软件的是()。
A.源代码B.程序和数据C.程序和文档D.程序、数据及相关文档参考答案:D参考解析:计算机软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
答案选择D选项。
[单选题]7.在黑盒测试方法中,设计测试用例的主要根据是()。
A.程序内部逻辑B.程序外部功能C.程序数据结构D.程序流程图参考答案:B参考解析:黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能规格说明。
一、填空题(本题每空1分,共计15分)1.设int a = 2,b = 3;float x = 3.5,y =2.5;表达式(float)(a+b)/2+(int)x%(int)y的值为3.5 。
2.结构化程序设计的三种基本结构是顺序结构,选择结构,循环结构。
3.设a = 3 , b = 2 , c = 1 , 则!(a+b)+c-6&&c+b%2的值为 1 。
4.int a = 6 ; 若a *= 2+3,则a = 30 ;又若a /= a+a,则a = 0 ;又若a+=a-= a*=a,则a = 0 ;5.int a = 2 ,b ,c ; b = ++a ; c = (a++)+(b++) ; 则c = 6 ,a = 4 ,b = 46、判断char型变量ch是否为大写字母的正确表达式是:ch>=’A’&&ch<=’z’7、若a=1;b= 2;c=2; if(a<b<c) {t= a;a=b; b=t; c--;}则a= 2 ,b= 1 ,c= 1 ,二、选择题(本题有15个小题,每小题2分,共计30分,每题只有一个正确答案)1、C程序的执行是从(A)A)本程序的main函数开始,到main函数结束B)本程序文件的第-个函数开始,到本程序文件的最后-个函数结束C)本程序的main函数开始,到本程序文件的最后-个函数结束D)本程序文件的第-个函数开始,到本程序main函数结束2、若有说明:char *language[]={"FORTRAN","BASIC","PASCAL", "JA V A","C"};则以下不正确的叙述是(D)。
A)language+2表示字符串"PASCAL"的首地址B)*language[2」的值是字母PC)language是一个字符型指针数组,它包含5个元素,D)每个元素都是一个指向字符串变量的指针3、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为(B):A)7 B)8 C)6 D)24、下面四个选项中,均是不合法的用户标识符的选项是(C)A) A P_0 doB)float a0 _AC)b-a goto intD)-123 temp INT5、sizeof(float)是(B):A)一个双精度型表达式B) 一个整型表达式C) 一种函数调用D) 一个不合法的表达式6、设有说明:char w; int x; f1oat y; double z;则表达式w* x+z-y值的数据类型为(D):A)float B)char C)int D)double7、阅读下程序,若运行结果为如下形式,输入输出语句的正确内容是(B): main(){int x; float y; printf("enter x,y:")输入语句输出语句}输入形式enter x,y: 2 3.4输出形式x+y=5.40A)scanf("%d,%f",&x,&y);printf("\nx+y= %4.2f",x+y);B)scanf("%d%f",&x,&y );printf("\nx+y=%4.2f",x+y);C)scanf("%d%f",&x,&y); printf("\nx+y=%6.lf",x+y);D)scanf("%d%3.1f",&x,&y );printf("\nx+y=%4.2f",x+y);8、根据下面的走义,能打印出字母M的语句是(D)struct person{char name[9];int age;}struct person class[10]={"John",17,"Paul",19,"Mary",18,"adam",16 };A)printf("%c\n",class[3].name);B)printf("%c\n",class[3].name[1]);C)printf("%c\n",class[2].name[1]);D)printf("%c\n",class[2].name[0]);9、若有以下定义和语句:struct student{int age;int num;};struct student stu[3]={{1001,20},{1002,19},{1003,21}};main(){struct student *p;p=stu;...}则以下不正确的引用是(D)。
C程序设计模拟试题4C程序设计》模拟试题四一、单项选择题(每小题2分,第15题4分,共40分)。
1. C++语言是先进的程序设计语言,具有以下的特点【①】。
①面向对象、封装性、继承性、多态性②面向过程、封装性、继承性、多态性③面向对象、封装性、继承性、稳定性④面向过程、封装性、继承性、多元性2. C语言中最简单的数据类型包括【③】①整型,实型,逻辑型②整型,实型,空类型③整型,实型,字符型④整型,实型,指针型3. 以下不正确的C语言标识符是【④】。
① ABC123 ② _123abc③ a_bc123 ④ 123abc4. 软件是所有程序、数据和文档资料的总和,计算机软件可分为【③】。
①商业软件、应用软件②工具软件、应用软件③系统软件、应用软件④系统软件、工具软件5. 以下不是结构化程序设计的基本结构的是【②】。
①选择结构②逻辑结构③循环结构④顺序结构6. 如下程序的执行结果是【①】。
main(){int n=1;n++;printf(“%d %d %d “,n,n++,--n);}①1 1 1 ②2 2 2 ③2 3 2 ④2 2 17. 循环语句while(!E);中的表达式!E等价于【③】。
① E!=0 ②E!=1 ③E==0 ④ E==18. 设int m=1,n=2,则++m==n的结果是【①】。
①1 ②0 ③2 ④39. 如果变量定义有:int a=10,c=9;则表达式(--a!=c++)?—a:++c的值为【②】。
①10 ②11 ③8 ④910. 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型是【③】。
①int ②float ③double ④不确定11. 以下程序的执行结果是【④】。
main(){int a=2,i;for(i=0;i<3;i++)printf(“%d,”,func(a));}func(int a){int b=0;static c=3;b++;c++;return(a+b+c);}①777 ②7,7,7 ③789 ④7,8,9,12. 有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值3,c的值为2,从键盘输入数据的正确形式应是【③】。
模拟试卷一一、选择题(每题1分,共15分) 在每小题列出的四个选项中只有一个是符合题目要求的,请在正确答案前点选,错选或未选均不得分。
1. 以下选项中不合法的用户标识是:正确答案A. _123B. printfC. A$D. Dim2. 在C 语言中,char 型数据在内存中的存储形式是:正确答案A. 补码B. 反码C. 原码D. ASCII 码正确答案:D3. 设x,y,z 为int 型变量,且x=3,y=4,z=5 ,则下面表达式中值为0 的是:正确答案A. 'x'&&'y'B. !((x<y)&&!z||1)C. x||y+z&&y-zD. x<=y正确答案:B4. 若有定义:int a=2,b=4,c; 执行语句c=a/b+2.6 ;后,c 的值为:正确答案A. 2.6B. 3.1C. 3D. 2正确答案:D5. 设a 为整型变量,不能确定表达数学关系10<a<15 的为C 语言表达式是:正确答案A. 10<a<15B. a==11|| a==12|| a==13|| a==14C. a>10&&a<15D. !(a<=10)&&!(a>=15)正确答案:C6. 若i 、j 已定义为int 型,则以下程序段中语句printf( “ %d ” ,i*j); 的执行次数是:for (i=3;i>0;i-- )for (j=0;j<4;j++ )printf( “ %d ” ,i*j);正确答案A. 12B. 15C. 16D. 20正确答案:A7. 若有输入语句“ scanf( "%d%d%d",&x,&y,&z); ”,则不能使x值为5,y 值为6,z值为7的输入是:正确答案A. 5 ,6 ,7< 回车>B. 5 6 7< 回车>C. 5 6 < 回车> 7< 回车>D. 5< 回车> ,6< 回车> ,7< 回车>正确答案:A8.执行以下程序段后,x ,y 和z 的值分别是:int x=10,y=20,z=30;if(x>y) z=x; x=y; y=z;正确答案A. 10,20,30B. 20,30,30C. 20,30,10D. 20,30,20正确答案:B9. 以下程序段x = -1;do{ x=x*x;} while(!x); 正确的说法是:正确答案A. 死循环B. 循环一次C. 循环两次D. 有语法错正确答案:B10. 以下正确的函数声明形式是:正确答案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) ;正确答案:C11.若有定义char ch[8] ,则以下表达式中不能代表数组元素ch[1] 的地址是:正确答案A. &ch[0]+1B. &ch[1]C. &ch[0]++D. ch+1正确答案:C12. 若有初始化语句“ int a[5]={1,2,3,4,5}; ”,值为4 的表达式是:正确答案A. a[4]B. a[a[2]+1]C. a[a[2]]D. a[3]+1正确答案:C13. 若已有以下函数定义:float fun(float a, int b){int c;c=(int)a%b;return c;}则主调函数中语句“ printf("%f",fun(fun(fun(34,7),4),3)); ”的输出结果是:正确答案A. 2.000000B. 因参数类型与形参类型不一致,函数调用产生错误C. 2D. 因变量c 的类型与fun 函数的返回值类型不符,故输出值为随机值正确答案:A14. 已知:int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+2 ;则值为3 的表达式是:正确答案A. (*p)++B. *p++C. *++pD. ++*p正确答案:B15. 以下可作为函数fopen 中第一个参数的正确格式是:正确答案A. c:\user\file.txtB. "c:\user\file.txt"C. "c:\\user\\file.txt"D. c:user\file.txt正确答案:C二、填空题(共10题)1. 字符串存储时,末尾被系统自动加上字符。
C语言程序设计模拟题1.由C语言编写的代码程序()。
A.可直接执行B.是一个源程序C.经过编译即可执行D.经过编译解释才能执行【答案】B。
解析:C语言编写的代码程序是一个源程序,C语言编写的代码程序需要经过编译、连接、解释才能执行。
2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是()。
A.大写字母B.中划线C.数字字符D.下划线【答案】B。
解析:C语言的自定义标识符只能有字母、数字、下划线。
3.下列选项中,不能用作标识符的是()。
A._1234_B._1_2C.int_2_D.2_int_【答案】D。
解析:标识符只能以字母或下划线开头。
4.以下选项中合法的用户标识符是()。
A.longB._2TestC.3DmaxD.A.dat【答案】B。
解析:A为关键字,C开头只能是字母或下划线,D标识符中只能有字母、数字、下划线。
5.以下不能定义为用户标识符的是()。
A.MainB._0C._intD.sizeof【答案】D。
解析:sizeof为关键字,不能用作用户标识符。
6.下列定义变量的语句错误的是()。
A.int _int;B.double int_;C.char For;D.float US$;【答案】D。
解析:标识符只能有字母、数字、下划线。
7.在C语言中,合法的实型常数是()。
A.5E2.0B.E-3C.2E0D.1.3E【答案】C。
解析:实型常量e的前面要有数,e的后面为整数。
8.在C语言中,合法的实型常数是()。
A.1.2E0.5B.3.14159EC.5E-3D.E15【答案】C。
解析:实型常量e的前面要有数,e的后面为整数。
9.以下选项中,不能作为合法常量的是()。
A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0【答案】B。
解析:实型常量e的前面要有数,e的后面为整数。
10.以下不合法的数值常量是()。
A.011B.1e1C.8.0E0.5D.0xab【答案】C。
《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是(D)。
A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。
A) MAIN B) _HJ C)2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是(B)。
A) \r B) \n C)\b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为(B)。
A) 1, 1 B) 1, 2 C) 2, 2 D)2, 15、已知ch为字符型变量,下面表达式中正确的是(A)。
A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是(C)。
A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是(A)。
A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为(D)。
main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是(C)。
x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是(A)A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为( A ) A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是(A)A) char s[5]={"ABCD"};B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是(B )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是(B)int m=13;int fun( int x, int y){ int m=3;return( x*y-m); }main( ){ int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。
C语言程序设计模拟试题四(含答案)1、微型计算机的性能主要取决于A) 内存B) 中央处理器C) 硬盘D) 显示卡2、有一个数值152,它与十六进制数6A相等,那么该数值是A) 二进制数B) 八进制数C) 十进制数D) 四进制数3、使用超大规模集成电路制造的计算机应该归属于A) 第一代B) 第二代C) 第三代D) 第四代4、已知英文字母a的ASCII代码值是十六进制数61H,那么字母d的ASCII代码值是A) 34H B) 54HC) 24H D) 64H5、一片存储容量是1.44MB的软磁盘,可以存储大约140万个A) ASCII字符B) 中文字符C) 磁盘文件D) 子目录6、在MS-DOS环境中同时按下[Ctrl]和[Break]两个键,其作用是A) 终止当前操作B) 暂停当前操作C) 关机D) 热启动7、将二进制数10000001转换为十进制数应该是A) 127 B) 129C) 126 D) 1288、磁盘处于写保护状态,那么磁盘中的数据A) 不能读出,不能删改,也不能写入新数据B) 可以读出,不能删改,也不能写入新数据C) 可以读出,可以删改,但不能写入新数据D) 可以读出,不能删改,但可以写入新数据9、微型机启动后,DOS提示符是C:\>,现提示符变为C:\USER>,则说明刚执行过命令A) PROMPT B) PROMPT USERC)PROMPT SP$G D) CD USER10、MS-DOS文件系统目录的组织形式属于A) 关系型结构B) 网络型结构C) 树型结构D) 直线型结构11、应用软件系统TH的总容量大约1MB,其主要程序文件存放在C:\TH目录中,而数据文件存放在C:\TH\DATA目录中,如果将它们完整地复制到A盘, 应该使用的命令是A) XCOPY C:\\TH A:\\ B) XCOPY C:\\TH A:\\ /SC) XCOPY C:\\TH A:\\ /M D) XCOPY C:\\TH A:\\ /P12、执行COPY A.TXT+B.TXT 这个DOS命令后,得到的磁盘文件是A) A.TXT B) B.TXTC) AB.TXT D) A+B.TXT13、WindowsS中,将一个应用程序窗口最小化之后,得到的磁盘文件是A) 仍在后台运行B) 暂时停止运行C) 完全停止运行D) 出错14、CD-ROM属于A) 感觉媒体B) 表示媒体C) 表现媒体D) 存储媒体15、在因特网(Internet)中电子公告板的缩写是A) FTP B) WWWC) BBS D) E-mail16、设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为A) 4 B) 16C) 32 D) 5217、设有如下的变量定义:int i=8, k, a, b;unsigned long w=5;double x=1, 42, y=5.2;则以下符合C语言语法的表达式是A) a+=a-=(b=4)*(a=3) B) x%(-3);C) a=a*3=2 D) y=float(i)18、假定有以下变量定义:int k=7,x=12;则能使值为3的表达式是A) x%=(k%=5) B) x%=(k-k%5)C) x%=k-k%5 D)(x%=k)-(k%=5)19、以下叙述中正确的是A) 输入项可以是一个实型常量,如:scanf("%f",3.5);B) 只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d,b=%d");C) 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf("%4.2f",&f);D) 当输入数据时,必须指明变量地址,例如:scanf("%f",&f);20、设x和y均为int型变量,则以下语句:x+=y,y=x-y;x-=y;的功能是A) 把x和y按从大到小排列B) 把x和y按从小到大排列C) 无确定结果D) 交换x和y中的值21、以下程序的输出结果是main(){int a=12,b=12;printf("%d,%d\n",- -a,+ +b);}A) 10 10 B) 12 12C) 11 10 D) 11 1322、以下程序运行后,输出结果是main(){char *s="abcde";s+=2;printf("%ld\n",s);}A) cde B) 字符c的ASCII码值C) 字符c的地址D) 出错23、以下程序输出结果是main(){ int m=5;if(m++>5)printf("%d\n",m);esleprintf("%d\n",m- -);}A) 7 B) 6C) 5 D) 424、当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为if(a<b)if(c<d) x=1;elseif(a<c)if(b<d) x=2;else x=3;else x=6;else x=7;A) 1 B) 2C) 3 D) 625、在执行以下程序时,如果从键盘上输入,ABCdef<回车>,则输出为#include<stdio,h>main(){ char ch;while((ch=getchar())!='\n'){ if(ch>='A' && ch<='Z') ch=ch+32;else if(ch>='a' && ch<='z') ch=ch-32;printf("%c",ch);}printf("\n");}A) ABCdef B) abcDEFC) abc D) DEF26、下面能正确进行字符串赋值操作的语句是A) char s[5]={"ABCDE"};B) char s[5]={'A','B','C','D','E'};C) char *s;s="ABCDEF";D) char *s; scanf("%s",s);27、执行以下程序段时X=-1;do {x=x*x; }while(! x);A) 循环体将执行一次B) 循环体将执行两次C) 循环体将执行无限次D) 系统将提示有语法错误28、执行以下程序后,输出的结果是main (){int y=10;do { y - -;}while(- - y);printf("%d\n",y - -);}A) -1 B) 1C) 8 D) 029、在下列选项中,没有构成死循环的程序段是\A) int i=100while(1){ i=i%100+1;if(i>100)break;\B) for( ; ;);\C) int k=1000;do{++k;}while(k>=10000);\D) int s=36;while(s);--s;30、执行语句:for(i=l:i++<4:);后,变量i的值是A) 3 B) 4C) 5 D) 不定31、以下程序运行后,如果从键盘上输入ABCDE<回车>,则输出结果为#include<stdio.h>#include<string.h>func<char str[]){ int num=0;while(*(str+num)!='\0') num++;return(num);}main(){ char str[10],*p=str;gets(p); printf("%d\n",func(p));}A) 8 B) 7C) 6 D) 532、运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为#include<stdio,h>mair(){ 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);}A) 2,0 B) 5,0C) 5,5 D) 2,533、若以下程序所生成的可执行文件名为filel.exe;当打入以下命令执行该程序时;FILEL CHINA BEIJING SHANGHAI程序的输出结果是main(int argc,char *argv[]){ while(arge-->0){ ++argv;printf("%s ",*argv);}}A) CHINA BEIJING SHANGHAI B) FILEL CHINA BEIJINGC) C B S D) F C B34、下面程序运行的结果是main(){char ch[7]={65ab21"};int i,s=0for(i=0;ch[i]>='0' && ch[i]<='9';i+=2)s=10*s+ch[i]-'0';printf("%d\n",s);}A) 2ba56 B) 6521C) 6 D) 6235、运行下面的程序,如果从键盘上输入:ab<回车>c <回车>def<回车>#include<stdio,h>#define N 6main(){ char c[N];int i=0;for( ;i<N;c[i]=getchar(),i++); for( i=0;i<N;i++) putchar(c[i]); printf("\n");}A) abcdefB) abcdC) abcdD) abcdef36、以下程序运行后,输出结果是#include<stdio,h>ss(char *s){char *p=s;while(*p) p++;return(p-s);}main(){char *a="abded";int i;i=ss(a);printf("%d\n",i);}A) 8 B) 7C) 6 D) 537、以下程序运行后,输出结果是func(int a, int b){ static int m=0,i=2;i+=m+1;m=i+a+b;return(m);}main(){ int k=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}A) 8,15 B) 8,16C) 8,17 D) 8,838、以下程序运行后,输出结果是#include<stdio,h>#define PT 5.5#define S(x) PT* x * xmain(){ int a=1,b=2;printf("%4.1f\n",S(a+b));}A) 49.5 B) 9.5C) 22.0 D) 45.039、以下程序运行后,输出结果是main(){static char a[]="ABCDEFGH", b[]="abCDefGh";char *p1,*p2;int k;p1=a; p2=b;for(k=0;k<=7;k++)if(*(p1+k)==*(p2+k))printf("%c",*(p1+k));printf("\n");)A) ABCDEFG B) CDGC} abcdefgh D} abCDefGh40、以下程序运行后,a的值是main(){int a,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m;printf("%d\n",a);}A) 4 B) 1C) 0 D) 运行时出错,a无定值41、以下程序运行后,输出结果是int d=1;fun(int p){ int d=5;d+=p++;printf("%d,d);}main(){ int a=3;fun(a);d+=a++;printf("%d\n,d);}A) 84 B) 99C) 95 D) 4442、以下程序运行后,输出结果是main(){ char ch[2][5]={'693","825"},*p[2]; int i,j,s=0;for(i=0;i<2;i++) p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]='0' && p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0';printf("%d\n",s);}A) 6385 B) 22C) 33 D) 69382543、以下程序运行后,输出结果是fut(int **s, int p[2][3]){ **s=p[1][1];}main(){ int a[2][3]={1,3,5,7,9,11}, *p;p=(int *) malloc(sizeof(int));fut(&p,a);printf("%d\n",*P);}A) 1 B) 7C) 9 D) 1144、设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2:则执行表达式:(m=a>b)&&(n=c>d)后,n的值为A) 1 B) 2C) 3 D) 045、在执行以下程序时,为了使输出结果为:t=4,则给a和b输入的值应满足的条件是main(){int s,t,a,b;scanf("%d,%d",&a,&b);s=1; t=1;if(a>0)s=s+1;if(a>b)t=s+t;elseif(a==b) t=5;else t=2*s;printf("t=%d\n",t);}A) a>b B) a<b<0C) 0<a<b D) 0>a>b46、以下程序的输出结果是main(){int i,j,x=0;for(i=0;i<2;i++){ x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;printf("x=%d\n",x);}A) x=4 B) x=8C} x=6 D} x=1247、以下程序运行后,输出结果是#inchude <stdio,h>#inchude <string,h>fun(char *w, int n){ char t, *s1,*s2;s1=w: s2=w+n-1;while(s1<s2){ t=*s1++;*s1=*s2--;*s2=t;}}main(){ char *p;p="1234567";fun(p,strlen(p));puts(p);}A) 1234567 B) 7654321C) 1711717 D) 717717148、以下程序运行后,如果从键盘上输入: book <回车>book <空格><回车>则输出的结果是#include<string,h>main(){char a1[80],a2[80],*s1=a1, *s2=a2;gets(s1); gets(s2);if(! strcmp(s1,s2)) printf("*");esle printf("#");printf("%d/n",strlen(strcat(s1,s2)));}A) *8 B) #9C) #6 D) *949、以下程序运行后,输出结果是main(){int y=18,i=0,j,a[8];do{ a[i]=y%2; i++y=y/2;} while(y>=1)for(j=i-1;j>=0;j--) printf("%d",a[j]; printf("\n");}A) 10000 B) 10010 C) 00110 D) 10100答案:BBDDA ABBDC BAADC CADDD DCBBB CADCC DCACC DCBBC AACBC BCBB。
C语言程序设计考试试题(附答案) C语言程序设计考试试题(附答案)一、选择题(共30题,每题2分,共60分)1. 下列哪个是C语言关键字?A. printB. variableC. whileD. calculate答案:C2. 在C语言中,下列哪个是合法的变量名?A. 1_helloB. _worldC. v-ariableD. continue答案:B3. 下列哪个是正确的C语言注释方式?A. // This is a commentB. # This is a commentC. /* This is a comment */D. <!-- This is a comment -->答案:C4. 下列哪个是正确的C语言函数定义格式?A. void addNumbers()B. addNumbers()C. function addNumbers()D. int addNumbers()答案:D5. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;float result = x / y;printf("%f", result);return 0;}```A. 2.5B. 2C. 2.000000D. 5答案:B6. 在C语言中,下列哪个是正确的if语句格式?A. if (x > 4) thenB. if (x > 4) { }C. if x > 4D. if (x > 4)答案:D7. 下列哪个是C语言中的逻辑运算符?A. ++B. &&C. %D. =答案:B8. 在C语言中,下列哪个是正确的for循环格式?A. for (x = 0; x < 5)B. for {x = 0; x < 5; x++}C. for (int x = 0; x < 5; x++)D. for (x = 0; x < 5;)答案:C9. 下列哪个是C语言中的自增运算符?A. ++B. +=C. =D. --答案:A10. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;x *= 3 + 4;printf("%d", x);return 0;}```A. 14B. 20C. 21D. 22答案:C11. 在C语言中,下列哪个是正确的switch语句格式?A. switch (x) {case 1;case 2;break;default;break;}B. switch (x) {case 1:case 2:break;default:break;}C. switch (x) case 1:case 2:break;default:break; D. switch (x) { case 1,case 2,break,default,break,}答案:B12. 下列哪个是C语言中的逗号运算符?A. &&B. !C. ,D. |答案:C13. 在C语言中,下列哪个是正确的数组声明?A. array[5]B. [5] arrayC. array[] = [5]D. int array[5]答案:D14. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 0; i <= 5; i++){printf("%d ", i);if (i == 3)continue;}return 0;}```A. 0 1 2 3 4 5B. 0 1 2 3 4C. 0 1 2 3 4 5 6D. 0 1 2 4 5答案:A15. 下列哪个是C语言中的求余运算符?A. /B. +C. %D. *答案:C16. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 4;int y = 5;if (x > 2 || y < 10){printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 || y < 10D. 4 5答案:A17. 在C语言中,下列哪个是正确的do-while循环格式?A. do (x < 5)B. do {x < 5} whileC. do {x < 5} while (x++)D. do {x < 5;} while (x < 5)答案:D18. 下列哪个是C语言中的逻辑非运算符?A. !B. &&C. <D. =答案:A19. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int i;for (i = 1; i <= 10; i++){if (i % 2 == 0)continue;printf("%d ", i);}return 0;}```A. 1 2 3 4 5 6 7 8 9 10B. 1 3 5 7 9C. 2 4 6 8 10D. 1 2 4 8答案:B20. 下列哪个是C语言中的减法运算符?B. +C. -D. *答案:C21. 在C语言中,下列哪个是正确的数组初始化方式?A. int array[5] = {1, 2, 3}B. array[5] = {1, 2, 3}C. int array[] = {1, 2, 3}D. int array[5] = {1, 2, 3,}答案:C22. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 7;if (x > 2 && y < 10)printf("True");}else{printf("False");}return 0;}```A. TrueB. FalseC. x > 2 & y < 10D. x > 2 || y < 10答案:A23. 下列哪个是C语言中的除法运算符?A. /B. +C. %答案:A24. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 7;int y = (x > 5) ? 10 : 5;printf("%d", y);return 0;}```A. 7B. 5C. 10D. 15答案:C25. 在C语言中,下列哪个是正确的while循环格式?A. while (x < 5;)B. while {x < 5;}C. while (x < 5)D. while {x < 5}答案:C26. 下列哪个是C语言中的位运算符?A. ||B. &&C. !D. &答案:D27. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 2;int y = 3;if (x = y){printf("Equal");}else{printf("Not equal");}return 0;}```A. EqualB. Not equalC. 2D. 3答案:A28. 在C语言中,下列哪个是正确的goto语句格式?A. goto label;B. goto (label);C. gote labelD. go to label答案:A29. 下列哪个是C语言中的加法运算符?A. /B. +C. %D. *答案:B30. 执行下面的C语言代码,输出的结果是什么?```c#include <stdio.h>int main(){int x = 5;int y = 2;int result = x % y;printf("%d", result);return 0;}A. 2B. 1C. 3D. 0答案:B二、编程题31. 编写一个C语言程序,在屏幕上输出从1到100的所有偶数。
C语⾔程序设计模拟试题3(附答案)NEW《C语⾔程序设计》模拟试卷三⼀、填空题。
(每空2分,共16分)1.在内存中,短整型变量占字节,单精度实型变量占字节,字符型变量占字节。
2.⼀个C语⾔⽂件是由若⼲个组成。
3.设有以下变量定义,并已赋确定的值char w; int x; float y; double z;则表达式:w*x+z-y所求得的数据类型为。
4.若x为int类型,请以最简单的形式写出与逻辑表达式!x等价的C语⾔关系表达式。
5.若有如下图所⽰五个连续的int类型的存储单元并赋值如下图,a[0]的地址⼩于a[4]的地址。
p和s是基类型为int的指针变量。
请对以下问题进⾏填空。
a[0] a[1] a[2] a[3] a[4](1)若p已指向存储单元a[1]。
通过指针p,给s赋值,使s指向最后⼀个存储单元a[4]的语句是。
(2)若指针s指向存储单元a[2],p 指向存储单元a[0],表达式s-p的值是。
⼆、单项选择题。
(每题2分,共40分)1.设有int x=11; 则表达式(x++ * 1/3) 的值是()。
A) 3 B) 4 C) 11 D) 122.下列程序的输出结果是()。
A) 3 B) 3.2 C) 0 D) 3.07main(){double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf(“%d \n”, d*y);}3.下列程序执⾏后的输出结果是(⼩数点后只写⼀位)()。
A) 6 6 6.0 6.0 B) 6 6 6.7 6.7C) 6 6 6.0 6.7 D) 6 6 6.7 6.0main(){ double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);scanf("%d",&d);}4.下列变量定义中合法的是()。
《C语言程序设计》模拟试题五一、填空题(40分)1.计算机软件分为和;C语言适合编写.2.十进制数35=( )2 =( )8 =( )163.已知一个数[X]补=11111001,求[X]原= 及X= .4.设x=2.5,a=7,y=4.7.求下列算术表达式的值.x+a%3*(int)(x+y)%2/3= .5.将算式|3-e x ln(1+Y)|写成C语言表达式 .6.设a=5,b=9.则printf(“a=%d,b=%4d”,a,b)输出为:.7.用C语句写出累加器、累乘器、计数器.8.上机操作时,CTRL+F9键的功能是,F2键的功能是 ALT+F5键的功能是.9.下列程序段对应的数学表达式是int t,n,s=0;scanf(“%d”,&n);for(i=1;i<=n;i++){ t=1;for(j=1;j<=i;j++)t=t*j;s=s+t;}10.以下程序用“顺序查找法”查找数组a中是否存在某一关键字. 请填空.main(){int a[10]={25,57,48,38,12,92,88,48,16,25};int i,x;scanf(“%d”,&X);for(i=0;i<10;i++)if (x==a[i]){printf(“Found!The index:%d\n”a[i]);(1) ;}if (2) printf(“Can not found!”);}二、单选题(15分)1.一个C程序的执行是从.A.本程序的main()函数开始,到main函数结束.B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束.C.本程序的main()函数开始,到本程序文件的最后一个函数结束.D.本程序文件的第一个函数开始,到本程序main函数结束.2.根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式为.main(){ int a,b,c;输入语句;printf(“%c%c%c”,a,b,c);}输入形式:A B C输出形式:ABCA.scanf(“%c%c%c”,&a,&b,&c);B.scanf(“%c,%c,%c”,&a,&b,&c);C.scanf(“%c %c %c”,&a,&b,&c);D.scanf(“%c%c”,&a,&b);3.给出下列程序的运行结果.main(){int i,j,k,x=0;for(i=2;i<=5;i++)for(j=7;j>=3;j-=2)for(k=4;k<=11;k+=4)x++;printf(“x=%d”,x);}A.x=64B. x=36C.x=60D. x=244.若x,i,j和k都是int型变量,则表达式计算下面表达式后,x的值为 . x=(i=4,j=16,k=32)A. 4B. 16C.32D.525.以下不正确if语句形式是.A.if ( x>y && x!=y );B.if ( x = = y ) x + = y;C. if ( x != y ) scanf(“%d”,&x) else scanf(“%d”,&y);D.if (x<y) { x++; y++ ;}三、改错题(14分)1.从键盘输入20个整数,将大于-5与小于+5的数以2倍形式输出. main(){int x,i,y;for(i=1,i<=10,i++)scanf(“%d”,x);if (-5<x<5) printf(“%d”,y=2x);}2.求1-2+3-4+5-6+…-100的和.main(){int n,f,i=0;-1=f;dos=s+f*i;i++;f=-f;while(i>=100)printf(“%d”;s);}四、给出下列程序的运行结果(15分)1.main(){int a,b,c,s,w,t;s = w = t = 0;a= -1; b= 3; c= 5;if (c>0) s=a+b;if (a<=0){ if (b>0)if (c<=0) w=a-b;}else if (c>0) w=a-b;else t=c;printf(“%d %d %d”,s,w,t);}2. #include <stdio.h>main(){ int i=5;char a[6]=“abcd”;do{ a[i]=a[i-1];--i;}while(i>0);puts(a);}3. main(){ int i,a[50];for(i=1;i<=10;i++){i=i*i;a[i]=i;printf(“%d ”,a[i]); }}五、按给出的程序功能,在空格处,填写正确的程序语句,使程序完整。
C语言程序设计模拟试题三(含答案)1、计算机的存储器完整的应包括A) 软盘、硬盘B) 磁盘、磁带、光盘C) 内存储器、外存储器D) RAM、ROM2、计算机中运算器的作用是A) 控制数据的输入/输出B) 控制主存与辅存间的数据交换C) 完成各种算术运算和逻辑运算D) 协调和指挥整个计算机系统的操作3、软磁盘处于写保护状态时,其中记录的信息A) 绝对不会丢失B) 不能被擦除,但能追加新信息C) 不能通过写磁盘操作被更新D) 不能以常规方式被删除,但可以通过操作系统的格式化功能被擦除4、光盘根据基制造材料和记录信息的方式不同,一般可分为A) CD、VCDB) CD、VCD、DVD、MP3C) 只读光盘、可一次性写入光盘、可擦写光盘D) 数据盘、音频信息盘、视频信息盘5、在计算机系统中,可执行程序是A) 源代码B) 汇编语言代码C) 机器语言代码D) ASCII码6、计算机软件系统包括A) 操作系统、网络软件B) 系统软件、应用软件C) 客户端应用软件、服务器端系统软件D) 操作系统、应用软件和网络软件7、目前,一台计算机要连入Internet,必须安装的硬件是A) 调制解调器或网卡B) 网络操作系统C) 网络查询工具D) WWW浏览器8、在多媒体计算机系统中,不能存储多媒体信息的是A) 光盘B) 磁盘C) 磁带D) 光缆9、要将当前盘当前目录下一个文本文件内容显示在屏幕上,正确的命令形式是A) TYPE a*.*B) TYPE abc.exeC) TYPE pro.c>PRND) TYPE abc.txt10、下列更改文件名的命令中正确的是A) REN A:file1 C:F1B) RENAME A: A:file1 C:F1C) REN A:file1 F1D) REN A:file1 \\SUB\\F111、已知A盘为DOS系统启动盘,只有A:\DOS下有自动批处理文件,其中内容为:CD\DOSMD USERCD USER由A盘启动DOS系统后,A盘的当前目录是A) \\DOS B) \\DOS\\USER12、MS-DOS是A) 分时操作系统B) 分布式操作系统C) 单用户、单任务操作系统D) 单用户、多任务操作系统13、在Windows操作系统中,不同文档之间互相复制信息需要借助于A) 剪切板B) 记事本C) 写字板D) 磁盘缓冲器14、在Windows操作系统中A) 同一时刻可以有多个活动窗口B) 同一时刻可以有多个应用程序在运行,但只有一个活动窗口C) 同一时刻只能有一个打开的窗口D) DOS应用程序窗口与Windows应用程序窗口不能同时打开着15、下列叙述中正确的是A) 所有DOS应用程序都可以在Windows操作系统中正确运行B) 所有DOS应用程序都不能在Windows操作系统中正确运行C) 大部分DOS应用程序可以在Windows操作系统中正确运行D) 为DOS5.0以上版本操作系统编写的应用程序可以在Windows操作系统中正确运行16、下列叙述中正确的是A) C语言编译时不检查语法B) C语言的子程序有过程和函数两种C) C语言的函数可以嵌套定义D) C语言所有函数都是外部函数17、以下所列的C语言常量中,错误的是A) 0xFF B) 1.2e0.518、下列选项中,合法的C语言关键字是A) VAR B) cherC) integer D) default19、以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子x/(y*z) 的C语言表达式是A) x/y*z B) x*(1/(y*z))C) x/y*1/z D) x/y/z20、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是A) -3 B) 9C) -12 D) 621、设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为A) 不定值B) 4C) 3 D) 122、若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:A) 10<回车>22<回车>33<回车>B) 10.0,22.0,33.0<回车>C) 10.0<回车>22.0 33.0<回车>D) 10 22<回车>33<回车>23、若执行以下程序时从键盘上输入9,则输出结果是Main0{ int n;scanf("%d",&n);if(n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10C) 9 D) 824、若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是A) swich(a+b);{ case 1:y=a+b; break;case 0:y=a-b; break;}B) switch(a*a+b*b){case 3:case 1:y=a+b;break;case 3:y=b-a,break;}C) switch a{ case c1 :y=a-b; breakcase c2: x=a*d; breakdefault:x=a+b;}D) switch(a-b){default:y=a*b;breakcase 3:case 4:x=a+b;break;case 10:case 11:y=a-b;break;}25、有以下程序段int k=0while(k=1)k++;while 循环执行的次数是A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次26、以下程序执行后sum的值是min(){ int i , sum;for(i=1;i<6;i++) sum+=i;printf("%d\n",sum);}A) 15 B) 14C) 不确定D) 027、有以下程序段int x=3do{ printf("%d",x-=2); }while (!(--x));其输出结果是A) 1 B) 3 0C) 1 -2 D) 死循环28、若变量c为char类型,能正确判断出c为小写字母的表达式是A) 'a'<=c<= 'z'B) (c>= 'a')||(c<= 'z')C) ('a'<=c)and ('z'>=c)D) (c>= 'a')&&(c<= 'z')29、以下所列的各函数首部中,正确的是A) void play(var :Integer,var b:Integer)B) void play(int a,b)C) void play(int a,int b)D) Sub play(a as integer,b as integer)30、以下程序的输出结果是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) 29C) 31 D) 无定值31、下列程序段的输出结果是void fun(int *x, int *y){printf("%d %d", *x, *y); *x=3; *y=4;}{ int x=1,y=2;fun(&y,&x);printf("%d %d",x, y);}A) 2 1 4 3 B) 1 2 1 2C) 1 2 3 4 D) 2 1 1 232、下列程序的输出结果是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) 333、下列程序的运行结果是void fun(int *a, int *b){ int *k;k=a; a=b; b=k;}main(){ int a=3, b=6, *x=&a, *y=&b;fun(x,y);printf("%d %d", a, b);}A) 6 3 B) 3 6C) 编译出错D) 0 034、下面程序的输出结果是{int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p;p=a;printf("%d\n",*p+9);}A) 0 B) 1C) 10 D) 935、当调用函数时,实参是一个数组名,则向函数传送的是A) 数组的长度B) 数组的首地址C) 数组每一个元素的地址D) 数组每个元素中的值36、设有以下说明语句struct ex{ int x ; float y; char z ;} example;则下面的叙述中不正确的是A) struct结构体类型的关键字B) example是结构体类型名C) x,y,z都是结构体成员名D) struct ex是结构体类型37、以下只有在使用时才为该类型变量分配内存的存储类说明是A) auto和staticB) auto和registerC) register和staticD) extern和register38、若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是A) EOF B) -1C) 非零值D) NULL39、以下程序的输出结果是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) 21C) 22 D) 2340、以下程序的输出结果是main(){ int i, x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d,",x[i][2-i]);}A) 1,5,9 B) 1,4,7C) 3,5,7 D) 3,6,941、以下程序的输出结果是main(){ int a[3][3]={ {1,2},{3,4},{5,6} },i,j,s=0; for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%dn",s);}A) 18 B) 19 C) 20 D) 2142、以下程序的输出结果是main(){ char w[][10]={ "ABCD","EFGH","IJKL","MNOP"},k;for(k=1;k<3;k++)printf("%s\n",w[k]);}A) ABCDFGHKLB) ABCDEFGIJMC) EFGJKOD) EFGHIJKL43、当执行下面的程序时,如果输入ABC,则输出结果是#include "stdio.h"#include "string.h"main(){ char ss[10]="1,2,3,4,5";gets(ss); strcat(ss, "6789");printf("%s\n",ss);}A) ABC6789 B) ABC67C)12345ABC6 D) ABC45678944、假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROG ABCDEFGH IJKL<回车>,则输出结果为main( int argc, char *argv[])){ while(--argc>0) printf("%s",argv[argc]);printf("\n");}A) ABCDEFG B) IJHLC) ABCDEFGHIJKL D) IJKLABCDEFGH45、以下程序的输出结果是long fun( int n){ long s;if(n= =1 || n= =2) s=2;else s=n-fun(n-1);return s;}main(){ printf("%ld\n", fun(3)); }A) 1 B) 2C) 3 D) 446、以下程序的输出结果是#define SQR(X) X*Xmain(){ int a=16, k=2, m=1;a/=SQR(k+m)/SQR(k+m);printf("d\n",a);}A) 16 B) 2C) 9 D) 147、若定义了以下函数:void f(……){……*p=(double *)malloc( 10*sizeof( double));……}p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是A) double *p B) float **pC) double **p D) float *p48、以下程序的输出是struct st{ int x; int *y;} *p;int dt[4]={ 10,20,30,40 };struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};main(){ p=aa;printf("%d\n",++(p->x));}A) 10 B) 11C) 51 D) 6049、假定建立了以下链表结构,指针p、q分别指向如图所示的结点,则以下可以将q所指结点从链表中删除并释放该结点的语句组是A) free(q); p->next=q->next;B) (*p).next=(*q).next; free(q);C) q=(*q).next; (*p).next=q; free(q);D) q=q->next; p->next=q; p=p->next; free(p);50、以下程序的输出结果是main(){ int x=0.5;char z='a';printf("%d\n", (x&1)&&(z<'z') ); }A) 0 B) 1C) 2 D) 3答案:CCCCC BADDCCCABC DBDACCBBDA CCDCCACBCB BBCBCADADA BCCBB。
第十三章考试模拟试卷及解析13.1 模拟试卷1及解析一、单项向选择题(每小题1.5分,共30分)1. 关于C语言的叙述,不正确的是()。
A) C程序必须包含一个main()函数B) C程序可由一个或多个函数组成C) C程序的基本组成单位是函数D) 注释说明只能位于一条语句的后面分析:注释可以出现在语句的前面、后面或中间。
例如,#include<stdio.h>void main(void){ /*计算1+2+3+4+…100的值*/int i;long s=0;for( i=1; i<= /* 不要丢掉'='号!*/ 100; i++)s+=i;/* 注意以下输出语句中long int 数据的输出控制格式”%ld” */printf("s=%ld\n",s);}答案选D。
2.以下()是正确的字符常量。
A) "c" B) '\t' C) '12' D) "\\"分析:A)中的"c"为字符串常量,B)中的'\t'为转义字符,请大家注意常用转义字符的表示方法(参见教材),C)中'12'表示错误,因为单引号里面只能含有1个字符。
D)中表示的是一个字符串(双引号),尽管这个字符串中只含有一个转义字符'\\'。
答案选B。
3.设char ch='c';,则表达式ch+1的值为()。
A) 97 B) 98 C) 99 D) 100分析:字符变量存储的是所对应字符的ASCII值,26个字母之间的ASCII值按字母顺序是连续的,即字母'a'的ASCII值为十进制的97,字母'b'的ASCII值为十进制的98,依次类推。
大家应记住常用字符的ASCII值,如,'A'为65,'0'为48等。
C语言程序设计考试试卷附答案一、选择题1. 下列哪个不是 C 语言的数据类型?A. intB. charC. stringD. float答案:C2. 以下哪个关键字用于定义常量?A. constantB. varC. constD. define答案:C3. 在 C 语言的数组中,下标是从几开始的?A. 0B. 1C. -1D. 从任意整数开始答案:A4. 下面哪个运算符用于获取变量的地址?A. &B. *C. %D. #答案:A5. 下面的代码中,输出的结果是什么?```int i = 0;for (i = 0; i < 5; i++) {if (i == 3) {break;}printf("%d ", i);}```A. 0 1 2C. 0 1 2 3 4D. 0 1 2 4答案:A二、填空题1. 填写下面代码的输出结果:```char str[20] = "Hello";printf("%s", ___________);```答案:Hello2. 填写下面代码的输出结果:```int a = 10;int b = 20;int c = ___________;printf("%d", c);```三、编程题1. 编写一个程序,在屏幕上输出从 1 到 10 的所有数字。
答案:```c#include <stdio.h>int main() {int i;for (i = 1; i <= 10; i++) {printf("%d ", i);}return 0;}```2. 编写一个程序,计算从 1 到 100 所有偶数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;int i;for (i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("1 到 100 所有偶数的和为:%d", sum);return 0;}```3. 编写一个程序,实现冒泡排序算法对数组进行升序排序。
自考C语言程序设计模拟试卷及答案(3)一、单项选择题1B 2B 3D 4C 5D 6C 7A8C 9D 10A 11C 12D 13B 14D 15A 16B 17D 18B 19A 20C 21CB 1. 设int x=1,y=1;表达式(!x++ || y-—)的值是____B_____A.0 B。
1 C。
2 D.-1C 2.main(B){ int n;( n=6*4,n+6),n*2;printf(“n=%d\n",n);}此程序的输出结果是______C________。
A。
30 B。
24 C. 60 D. 48D 3.若有如下定义,则_____D_____是对数组元素的正确的引用。
int a[10], *p ;p=a ; p=a ; p=a ; p=a ;A。
*&a[10] B. a[11] C. *(p+10) D. *pC 4。
设整型变量n的值为2,执行语句“n+=n—=n*n;”后,n的值是__________A. 0 B。
4 C。
— 4 D。
2D 5.以下不能正确定义二维数组的语句是___________A 。
int a[2][2]={{1},{2}}; B. int a[][2]={1,2,3,4};C。
int a[2][2]={{1},2,3}; D. int a[2][]={{1,2},{3,4}};C D 6. 程序段的功能是将变量 u 、s中的最大值赋给变量t 。
A。
if(u>s) t=u;t=s; B。
t=u; if(t ) t=s;C. if(u>s) t=s;else t=u; D 。
t=s; if(u ) t=u;A 7.下列程序段的输出结果是。
void main(){ int k;for (k=1;k<5;k++〉{ if(k%2!=0)printf(“#”);elseprintf(“*"); }}A。