c程序设计期中试题及答案
- 格式:docx
- 大小:37.51 KB
- 文档页数:7
大学计算机专业《C语言程序设计》期中试卷及答案试卷编号:9689所属语言:C语言试卷方案:期中考试试卷总分:100分共有题型:5种一、填空共15题(共计15分)第1题(1.0分)题号:92C语言中的字符变量用保留字【1】来说明.答案:=======(答案1)=======char第2题(1.0分)题号:433已知x=3,y=2,则表达式x*=y+8的值为【1】.答案:=======(答案1)=======30第3题(1.0分)题号:388设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为【1】.答案:=======(答案1)=======1.0=========或=========1第4题(1.0分)题号:293getchar()函数只能接收一个【1】.答案:=======(答案1)=======字符第5题(1.0分)题号:437以下程序的输出结果为【1】,#include "stdio.h" main(){int a=010,j=10;printf("%d,%d\n",++a,j--);} 答案:=======(答案1)=======9,10第6题(1.0分)题号:498c语言程序的三种基本结构是:顺序结构,选择结构,【1】结构.答案:=======(答案1)=======循环第7题(1.0分)题号:100已知a=13,b=6, a||b的十进制数值为【1】.答案:=======(答案1)=======1第8题(1.0分)题号:441设a=3,b=4,c=4,则表达式a+b>c&&b==c&&a||b+c&&b==c的值为【1】.答案:=======(答案1)=======1第9题(1.0分)题号:457设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2后,t的值是【1】.答案:=======(答案1)=======1第10题(1.0分)题号:389设i,j,k均为int型变量,则执行完for循环for(i=0,j=10;i<=j;i++,j--) k=i+j;后,k的值为【1】.答案:=======(答案1)=======10第11题(1.0分)题号:421若输入字符串:abcde<回车>,则以下while循环体将执行【1】次.While((ch=getchar())=='e') printf("*");答案:=======(答案1)=======第12题(1.0分)题号:533设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是【1】. for (x=0,y=0;y!=123&&x<3;x++)scanf ("%d",&y);答案:=======(答案1)=======3第13题(1.0分)题号:328C语言中,数组元素的下标下限为【1】.答案:=======(答案1)=======第14题(1.0分)题号:346合并字符串的库函数是【1】,只写函数名即可.答案:=======(答案1)=======strcat第15题(1.0分)题号:341定义int a[2][3];表示数组a中的元素个数是【1】个.答案:=======(答案1)=======6二、判断共15题(共计15分)第1题(1.0分)题号:715整数 -32100可以赋值给int型和long int型变量.答案:Y第2题(1.0分)题号:929在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char<int<long int <=float<double答案:Y第3题(1.0分)题号:928C程序中的关键字必须小写.答案:Y第4题(1.0分)题号:194若有定义和语句:int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);若通过键盘输入:10,A,12.5,则a=10,c='A',f=12.5.答案:Y第5题(1.0分)题号:944C语言中,赋值表达式加上分号就构成了赋值语句.答案:Y第6题(1.0分)题号:716若i =3,则printf("%d",-i++);输出的值为 -4.答案:N第7题(1.0分)题号:950逻辑运算符中的"&&"和"||"低于关系运算符,"!"高于算术运算符.答案:Y第8题(1.0分)题号:951在执行switch语句时,default和各个case的出现次序不影响执行结果.答案:Y第9题(1.0分)题号:869若有int i=10, j=0;则执行完语句if (j=0)i++; else i--; i的值为11.答案:N第10题(1.0分)题号:953C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.答案:N第11题(1.0分)题号:742若有说明int c;则while(c=getchar());是正确的C语句.答案:Y第12题(1.0分)题号:954continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立.答案:Y第13题(1.0分)题号:736int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0.答案:Y第14题(1.0分)题号:735如果想使一个数组中全部元素的值为0,可以写成int a[10]={0*10};答案:N第15题(1.0分)题号:926任何数组的下标都是从0开始;答案:Y三、单项选择共20题(共计40分)第1题(2.0分)题号:2004下列字符序列中,不可用作C语言标识符的是().A:b70B:#abC:symbolD:a_1答案:B第2题(2.0分)题号:2137下列表达式中,可作为C合法表达式的是().A:[3,2,1,0]B:(3,2,1,0)C:3=2=1=0D:3/2/1/0答案:B第3题(2.0分)题号:2037若k,g均为int型变量,则下列语句的输出为().k=017; g=111; printf("%d\t",++k); printf("%x\n",g++);A:15 6fB:16 70C:15 71D:16 6f答案:D第4题(2.0分)题号:2043已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为(). char a='a'; a--;printf("%d,%c\n",a+'2'-'0',a+'3'-'0');A:b,cB:a--运算不合法,故有语法错C:98,cD:格式描述和输出项不匹配,输出无定值答案:C第5题(2.0分)题号:2128下列程序段的输出结果为().float x=213.82631;printf("%3d",(int)x);A:213.82B:213.83C:213D:3.8答案:C第6题(2.0分)题号:2222语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是(说明:'\b'是退格符)().A:a\bre\'hi\'y\\\bouB:a\bre\'hi\'y\bouC:re'hi'youD:abre'hi'y\bou答案:C第7题(2.0分)题号:2028假设所有变量均为整型,表达式:a=2,b=5,a>b?a++:b++,a+b的值是().A:7B:8C:9D:2答案:B第8题(2.0分)题号:2145int a=3,b=2,c=1;if(a>b>c)a=b;else a=c;则a的值为().A:3B:2C:1D:0答案:C第9题(2.0分)题号:2062假定所有变量均已正确定义,下列程序段运行后x的值是().k1=1;k2=2;k3=3;x=15;if(!k1) x--;else if(k2) x=4;else x=3;A:14B:4C:15D:3答案:B第10题(2.0分)题号:2136下列程序段的输出结果为().int a=7,b=9,t;t=a*=a>b?a:b;printf("%d",t);A:7B:9C:63D:49答案:C第11题(2.0分)题号:2319在C语言中,要求运算数必须是整型的运算符是(). A:^B:%C:!D:>答案:B第12题(2.0分)题号:2251以下不是无限循环的语句为().A:for(y=0,x=1;x>++y;x=i++) i=x;B:for(;;x++=i);C:while(1){x++;}D:for(i=10;;i--) sum+=i;答案:A第13题(2.0分)题号:2123设j和k都是int类型,则for循环语句().for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k); A:最多执行10次B:最多执行9次C:是无限循环D:循环体一次也不执行答案:A第14题(2.0分)题号:2141以下程序段的输出结果为().for(i=4;i>1;i--)for(j=1;j<i;j++)putchar('#');A:无B:######C:#D:###答案:B第15题(2.0分)题号:2059以下程序的运行结果是().main(){ int n;for(n=1;n<=10;n++){if(n%3==0) continue;printf("%d",n);}}A:12457810B:369C:12D:1234567890答案:A第16题(2.0分)题号:2147while(fabs(t)<1e-5)if(!(s/10))break;循环结束的条件是(). A:t>=1e-5||t<=-1e-5||s>-10&&s<10B:fabs(t)<1e-5&&!s/10C:fabs(t)<1e-5D:s/10==0答案:A第17题(2.0分)题号:2273设有数组定义: char array [ ]="China"; 则数组 array所占的空间为().A:4个字节B:5个字节C:6个字节D:7个字节答案:C第18题(2.0分)题号:2280若有说明 int a[3][4];则对a数组元素的正确引用是().A:a[2][4]B:a[1,3]C:a[1+1][0]D:a(2)(1)答案:C第19题(2.0分)题号:2269以下不正确的定义语句是().A:double x[5]={2.0,4.0,6.0,8.0,10.0};B:int y[5]={0,1,3,5,7,9};C:char c1[]={'1','2','3','4','5'};D:char c2[]={'\x10','\xa','\x8'};答案:B第20题(2.0分)题号:2074下列语句中,不正确的是().A:static char a[2]={1,2};B:static int a[2]={'1','2'};C:static char a[2]={'1','2','3'};D:static char a[2]={'1'};答案:C四、程序填空共4题(共计24分)第1题(6.0分)题号:24/*------------------------------------------------------- 【程序填空】---------------------------------------------------------题目:以下程序的功能是对任一整数N(N≠0),它都可以分解成1(或-1)和一些质数(素数)因子的形式。
信息与通信工程学院2010-11-1学期《C语言程序设计》期中试卷班级:学号:姓名:得分:参考答案一、判断题(每题1分,共10分)1、”printf”是C语言的关键字之一。
错2、一个完整的C语言程序中可以没有输入语句。
对3、字符串”abcd\123”中含有5个字符。
错,6个4、一个float类型的数据,占用8个字节的存储空间。
错,45、1234/100%10的值是2。
对6、程序中调用函数gets(a)时,其中的实参a必须为一个地址。
对7、C语言程序的运行是从程序内的第一个函数开始、运行到最后一个函数结束。
错8、表达式y=0,2+5||y=3运算后y的值是3。
错,是09、for(i=0;i=1;i++);是一个死循环。
对10、j=3;printf(”%d”,++j); 输出的值是4。
对二、单项选择题(每题1分,共20分)1、编辑好的C程序,必须先经过____,然后才可以运行。
A 编译B 编译、连接C 预处理(预编译)、编译、连接D 转变成二进制文件2、C程序的基本结构类型是____。
A 顺序结构、分支结构、循环结构三种B 单分支结构、双分支结构、多分支结构三种C 当型循环结构、直到型循环结构两种D 有参函数、无参函数两种3、关于C源程序的格式要求,错误的叙述是____。
A 一行可以写多句,一句可以写多行B 每行须以分号结束C 顺序结构的上下行语句左侧应对齐D 语句的内部(小语句)另起一行书写时,起始位置一般应比上一行向右缩进4小格4、用scanf、printf函数输入、输出数据时,错误的格式是____。
A 输入long int型数据时使用%ld格式B 输入double型数据时使用%lf格式C 输出long int型数据时使用%ld格式D 输出double型数据时使用%lf格式5、关于整型数据的取值范围,错误的是____。
A VC++中int型数据是-231~+231-1B WinTC、TurboC中int型数据是-215~+215-1C long int型数据是-231~+231-1D char型数据是0~+28-16、C程序运行时,如果数据溢出,计算机会____。
c程序设计期中考试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义整型变量的关键字是()。
A. intB. floatC. doubleD. char答案:A2. 下列哪个选项是C语言中的合法标识符?()A. 2variableB. variable2C. variable-2D. variable$2答案:B3. 在C语言中,以下哪个选项是正确的字符串字面量?()A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!'"D. 'Hello, World!'答案:A4. 若有以下代码段:```cint a = 10, b = 20;a =b = a + b;```则变量a的值是()。
A. 10B. 30C. 20D. 无法确定答案:B5. C语言中,哪个函数用于计算并返回字符串的长度?()A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A6. 在C语言中,以下哪个是正确的二维数组声明?()A. int array[3][4];B. int array[][];C. int array[3][];D. int array[4,3];答案:A7. C语言中,以下哪个是正确的函数声明?()A. int add(int a, int b);B. int add(int, int);C. int add();D. int add(a, b);答案:A8. 下列哪个选项是C语言中的逻辑运算符?()A. &&B. ||C. !D. 以上都是答案:D9. 在C语言中,以下哪个选项是正确的条件语句?()A. if (condition) { statement1; } else { statement2; }B. if (condition) statement1; else statement2;C. if (condition) statement1; if (condition) statement2;D. if (condition) { statement1; statement2; }答案:A10. C语言中,以下哪个选项是正确的循环语句?()A. for (int i = 0; i < 10; i++) { /* code */ }B. while (condition) { /* code */ }C. do { /* code */ } while (condition);D. 以上都是答案:D二、填空题(每题2分,共20分)1. C语言中,用于定义字符型变量的关键字是()。
浙江大学《C程序设计基础及实验》课程期中考试试卷参考答案考试日期:2017年12月8日,考试时间:70分钟诚信考试,沉着应考,杜绝违纪。
考生姓名:学号:所属院系:_(注意:答题内容必须写在答题卷上,写在本试卷上无效)试题一、单选题(每小题2分,共20分)1.以下正确的字符常量是______。
A.’\412’B.255C.’\08’D.’’【解答】A.八进制412超出了8位二进制所能表示的范围03ff;B.255是一个合法的整数,可以表示一个字节的值;C.8不是一个合法的八进制数字;D.是转义字符,’表示单个单引号字符本身,所以。
字符常量缺少右单引号。
2.假设有定义:floatx=16/5/2.0,y=16/5.0/2;则x和y的值分别为______。
A.1.51.6B.1.61.6C.1.51.5D.1.61.5【解答】16/5/2.0(16/5)/2.03/2.01.516/5.0/2(16/5.0)/23.2/21.63.下列语句中,_____将输出%d。
A.printf(“%d”);B.printf(“%%d”);C.printf(“\%d”);D.printf(“%%%d”)【解答】A.%d表示输出十进制整型量,但缺少相应的输出表达式,故输出结果是随机值;B.%%表示输出一个%符号本身,d是普通字符,原样输出,所以输出%d;C.\%表示符号%,%d表示输出十进制整型值,故输出结果是随机值;D.%%表示输出符号%本身,%d表示输出十进制整型值。
4.下列程序段输出结果为_____。
《C程序设计基础及实验》期中考试试卷,2017年12月8日1/10intx=1,y=012;printf(“%y d*”x+,+);A.12B.10C.20D.24【解答】x++表达式的值是1,y*x++y*1y012105.下列程序段输出结果为_____。
inta=1,b=2,c=2,t;while(a<b<c){t=a;a=b;b=t;c--;}printf(“%d,%d,%d”,a,b,c);A.1,2,0B.2,1,0C.1,2,1D.2,1,1【解答】a=1,b=2,c=2(1)表达式a<b<c1<2<21<21条件成立,则执行循环体,结果为:a=2,b=1,c=1(2)表达式a<b<c2<1<10<11条件成立,则执行循环体,结果为:a=1,b=2,c=0(3)表达式a<b<c1<2<01<00条件不成立,循环结束。
桂林电子科技大学信息科技学院试卷2008-2009 学年第 2 学期 课号 课程名称:C 语言程序设计(闭卷) 适用班级(或年级、专业) 通信、电子(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷说明:(1) 第一卷全部为选择题,每题可供选择的答案中,只有一个正确答案。
(2) 答本卷的题目时,要在标准答题纸上编写对应的栏目中,用铅笔在正确答案图黑,在试题上直接勾划者不得分。
(3) 本卷共70分,其中第1~26题每题2分,第27~32题每题3分。
第一部分:基础知识(20题,共40分)1 以下叙述中正确的是A )C 语言的源程序不必通过编译就可以直接运行B )C 语言中的每条可执行语句最终都将被转换成二进制的机器指令 C )C 源程序经编译形成的二进制代码可以直接运行D )C 语言中的函数不可以单独进行编译 2 以下选项中合法的用户标识符是A) long B) _2Test C) 3Dmax D) A.dat3 已知大写字母A 的ASCII 码值是65,小写字母a 的ASCII 码是97,则用八进制表示的字符常量'\101'是A) 字符A B) 字符a C) 字符e D) 非法的常量 4 以下非法的赋值语句是A) n=(i=2,++i); B) j++; C) ++(i+1); D) x=j>0; 5 设a 和b 均为double 型变量,且a=5.5、b=2.5,则表达式(int)a+b/b 的值是 A) 6.500000 B) 6 C) 5.500000 D) 6.0000006 已知i 、j 、k 为int 型变量,若从键盘输入:1,2,3<回车>,使i 的值为1、j 的值为2、k 的值为3,以下选项中正确的输入语句是A) scanf("%2d%2d%2d ",&i,&j,&k); B) scanf("%d %d %d ",&i,&j,&k); C) scanf("%d,%d,%d ",&i,&j,&k); D) scanf("i=%d,j=%d,k=%d ",&i,&j,&k);7设有定义:float a=2,b=4,h=3;,以下C 语言表达式与代数式 计算结果不相符的是A) (a+b) *h/2 B) (1/2)*(a+b)*h C) (a+b)*h*1/2 D) h/2*(a+b)h b a )(218与数学式子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)9 设有定义:long x=-123456L ;,则以下能够正确输出变量x 值的语句是A) printf("x=%d\n ",x); B) printf("x=%1d\n ",x); C) printf("x=%8dL\n ",x); D) printf("x=%LD\n ",x); 10 若有以下程序:main(){ int k=2,i=2,m;m=(k+=i*=k); printf("%d,%d\n ",m,i); }执行后的输出结果是A) 8,6 B) 8,3 C) 6,4 D) 7,4 11 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z/2的值是A) 6 B) 0 C) 2 D) 1 12 以下选项中,与k=n++完全等价的表达式是A) k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1 13 下列关于单目运算符++、--的叙述中正确的是A) 它们的运算对象可以是任何变量和常量B) 它们的运算对象可以是char 型变量和int 型变量,但不能是float 型变量 C) 它们的运算对象可以是int 型变量,但不能是double 型变量和float 型变量 D) 它们的运算对象可以是char 型变量、int 型变量和float 型变量 14 若有以下程序段(n 所赋的是八进制数)int m=32767,n=032767; printf("%d,%o\n ",m,n); 执行后输出结果是A) 32767,32767 B) 32767,032767 C) 32767,77777 D) 32767,077777 15 C 语言中用于结构化程序设计的三种基本结构是A) 顺序结构、选择结构、循环结构 B) if 、switch 、break C) for 、while 、do-while D) if 、for 、continue16 有一函数,0x 0x 0x 101y <=>-=⎪⎩⎪⎨⎧,以下程序段中不能根据x值正确计算出y值的是A) if(x>0) y=1; B) y=0;else if(x==0) y=0; if(x>0) y=1;else y=-1; else if(x<0) y=-1;C) y=0; D) if(x>=0)if(x>=0) if(x>0) y=1; if(x>0) y=1; else y=0; else y=-1; else y=-1;int m=0,n=0; char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入:10A10<回车>,则输出结果是:A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,018 有以下程序main(){ int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);printf("%d,%d\n",k,m);}程序运行后的输出结果是A) 0,0 B) 0,1 C) 1,0 D) 1,119 有定义语句:int x,y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是A) 11 12<回车> B) 11, 12<回车> C) 11,12<回车> D) 11,<回车>12<回车>20 设有如下程序段:int x=2002,y=2003;printf("%d\n",(x,y));则以下叙述中正确的是A) 输出语句中格式说明符的个数少于输出项的个数,不能正确输出B) 运行时产生出错信息C) 输出值为2002D) 输出值为2003二第二部分:简单程序(12题,21-26题每题2分,27-32题每题3分,共30分)21 有以下程序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) 120{ int i=1,j=1,k=2;if((j++||k++)&&i++) printf("%d,%d,%d\n",i,j,k);}执行后输出结果是A) 1,1,2 B) 2,2,1 C) 2,2,2 D) 2,2,323 有以下程序main(){ char a,b,c,*d;a='\'; b='\xbc';c='\0xab'; d="\017";printf("%c%c%c%c\n",a,b,c,*d);}编译时出现错误,以下叙述中正确的是A) 程序中只有a='\';语句不正确 B) b='\xbc';语句不正确C) d="\017";语句不正确 D) a='\';和c='\0xab';语句都不正确24 以下程序段中与语句k=a>b?(b>c?1:0):0; 功能等价的是A) if((a>b)&&(b>c)) k=1; B) if((a>b)||(b>c)) k=1;else k=0; else k=0;C) if(a<=b) k=0; D) if(a>b) k=1;else if(b<=c) k=1; else if(b>c) k=1;else k=0;25 有以下程序main(){ int a=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);else if((c-1>=d)==1)printf("%d\n",d+1);elseprintf("%d\n",d+2);}执行后输出结果是A) 2 B) 3 C) 4 D) 编译时有错,无结果26 有以下程序main(){ int i=10,j=1;printf("%d,%d\n",i--,++j); }执行后输出结果是A) 9,2 B) 10,2 C) 9,1 D) 10,1{ int i=0,s=0;do{ if(i%2) { i++; continue; }i++;s+=i;} while(i<7);printf("%d\n",s);}执行后输出结果是A) 16 B) 12 C) 28 D) 2128 有以下程序main(){ int x=0,y=5,z=3;while(z-->0&&++x<5) y=y-1;printf("%d,%d,%d\n",x,y,z);}程序执行后的输出结果是A) 3,2,0 B) 3,2,-1 C) 4,3,-1 D) 5,-2,-529 有以下程序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中的偶数之和30 有以下程序main(){ int i,n=0;for(i=2;i<5;i++){ do{ if(i%3) continue;n++;}while(!i);n++;}printf("n=%d\n",n);}程序执行后的输出结果是A) n=5 B) n=2 C) n=3 D) n=431 要求以下程序的功能是计算:10131211++++= s main (){ int n; float s; s=1.0;for(n=10;n>1;n--) s=s+1/n; printf("%6.4f\n ",s); }程序运行后输出结果错误,导致错误结果的程序行是A) s=1.0; B) for(n=10;n>1;n--) C) s=s+1/n; D) printf("%6.4f/n ",s); 32 有以下程序段int n=0,p;do { scanf("%d ",&p); n++; } while(p!=12345 && n<3); 此处do —while 循环的结束条件是A) p 的值不等于12345并且n 的值小于3 B) p 的值等于12345并且n 的值大于等于3 C) p 的值不等于12345或者n 的值小于3 D) p 的值等于12345或者n 的值大于等于3第二卷说明:(1) 第二卷含5大题,均属填空题,总共有10个空栏,在阅读和理解原题程序的基础上,在空栏处填入适当的字符、语句,以构成一个正确的C 语言程序。
淮海工学院10 – 11 学年第 2 学期 C语言程序设计期中考试试卷单项选择题答题表题答题表中)1.以下叙述中正确的是()。
A) C 程序的基本组成单位是语句B) C 程序中的每一行只能写一条语句C)简单C 语句必须以分号结束D) C 语句必须在一行内写完在2.一个C程序是由____________。
A)一个主程序和若干个子程序构成B)一个或多个函数构成C)若干过程组成D)若干子程序组成3.以下选项中正确的定义语句是____________。
A)double a; b;B)double a=b=7;C)double a=7, b=7;D)double, a, b;4.计算机能直接执行的程序是()。
A)C源程序B)目标程序C)汇编程序D)可执行程序5.下列符号可以作为变量名的是____________。
A)+aB)*pC)_DAYD)next day6.设c是字符变量,则以下表达式正确的是____________。
A)c=666B)c='c'C)c="c"D)c="abcd"7.以下说法正确的是____________。
A)输入项可以为一个实型常量,如scanf("%f", 3.5)B)只有格式控制没有输入项也能进行正确输入,如scanf("%d")C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4.2f", &f)D)当输入数据时,必须指定变量的地址,如scanf("%f", &f)8.若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);9.若有if (w) –x; else ++y; 则其中与w 等价的表达式是____________。
大一c语言期中考试题和答案豆丁网C语言期中考试试卷一、选择题(每题2分,共40分)1. 以下哪个选项是C语言的关键字?A. intB. integerC. INTD. Integer答案:A2. C语言中,哪个函数用于计算并返回两个整数相加的结果?A. add()B. sum()C. plus()D. addint()答案:B3. 在C语言中,以下哪个是正确的字符串定义?A. char str[5] = "Hello";B. char str[5] = {'H', 'e', 'l', 'l', 'o'};C. char str[5] = "Hello"; // 错误,字符串长度超过数组大小D. char str[] = "Hello";答案:D4. C语言中,以下哪个是正确的二维数组定义?A. int array[2][3] = {{1, 2, 3}, {4, 5, 6}};B. int array[2][3] = {1, 2, 3, 4, 5, 6};C. int array[2][3] = {{1, 2, 3}, {4, 5, 6, 7}}; // 错误,数组元素不匹配D. int array[2][3] = {1, 2, 3, 4, 5, 6, 7}; // 错误,数组元素不匹配答案:A5. C语言中,以下哪个是正确的函数定义?A. int func(int a, int b) { return a + b; }B. int func(int a; int b) { return a + b; } // 错误,分号使用不当C. int func(int a, int b) { return a - b; }D. int func(int a, b) { return a + b; } // 错误,b未指定类型答案:A6. C语言中,以下哪个是正确的条件语句?A. if (a > b) then { /* code */ }B. if (a > b) { /* code */ }C. if a > b { /* code */ } // 错误,缺少括号D. if (a > b) then { /* code */ } // 错误,then关键字不正确答案:B7. C语言中,以下哪个是正确的循环语句?A. for (int i = 0; i < 10; i++) { /* code */ }B. for i = 0 to 10 { /* code */ } // 错误,C语言中没有to关键字C. for (int i = 0; i < 10; i++) { /* code */ }D. for i = 0; i < 10; i++ { /* code */ } // 错误,缺少括号答案:C8. C语言中,以下哪个是正确的函数调用?A. func(5, 3);B. func(5; 3); // 错误,分号使用不当C. func(5, 3);D. func(5, 3);答案:A9. C语言中,以下哪个是正确的宏定义?A. #define PI 3.14159B. #define PI = 3.14159; // 错误,宏定义中不应包含等号和分号C. #define PI 3.14159D. #define PI 3.14159答案:A10. C语言中,以下哪个是正确的结构体定义?A. struct Point { int x, y; };B. struct Point { int x; int y; };C. struct Point { int x, y; };D. struct Point { int x; int y; };答案:B11. C语言中,以下哪个是正确的指针定义?A. int *p;B. int *p;C. int *p;D. int *p;答案:A12. C语言中,以下哪个是正确的文件操作函数?A. fopen()B. open()C. create()D. file()答案:A13. C语言中,以下哪个是正确的递归函数定义?A. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }B. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }C. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }D. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }答案:A14. C语言中,以下哪个是正确的枚举定义?A. enum Color { Red, Green, Blue };B. enum Color { Red, Green, Blue };C. enum Color { Red, Green, Blue };D. enum Color { Red, Green, Blue };答案:A15. C语言中,以下哪个是正确的联合体定义?A. union Data { int i; float f; char ch; };B. union Data { int i; float f; char ch; };C. union Data { int i; float f; char ch; };D. union Data { int i; float f; char ch; };答案:A16. C语言中,以下哪个是正确的位运算符?A. &B. |C. ^D. ~答案:D17. C语言中,以下哪个是正确的位段定义?A. struct BitFlags { unsigned int : 1; unsigned int flag2 : 1; };B. struct BitFlags { unsigned int flag1 : 1; unsigned int flag2 : 1; };C. struct BitFlags { unsigned int flag1 : 1; unsigned int flag2 : 1; };D. struct BitFlags { unsigned int flag1 : 1; unsigned int flag2 : 1; };答案:B18. C语言中,以下哪个是正确的动态内存分配函数?A. malloc()B. alloc()C. new()D. mem()答案:A19. C语言中,以下哪个是正确的动态内存释放函数?A. free()B. dealloc()C. delete()D. mem()答案:A20. C语言中,以下哪个是正确的预处理指令?A. #includeB. includeC. #importD. import答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义整型变量的关键字是 ________。
C程序设计基础期中测验试题详解1 / 12————————————————————————————————作者:————————————————————————————————日期:2 / 12《C程序设计基础及实验》课程期中考试试卷参考答案试题一、单选题(每小题2分,共20分)1. 以下正确的字符常量是______。
A.’\412’B.255 C.’\08’D.’\’【解答】A.八进制412超出了8位二进制所能表示的范围03ff;B. 255是一个合法的整数,可以表示一个字节的值;C. 8不是一个合法的八进制数字;D. \是转义字符,\’表示单个单引号字符本身,所以。
字符常量缺少右单引号。
2. 假设有定义:float x=16/5/2.0, y=16/5.0/2; 则x 和y 的值分别为______。
A.1.5 1.6 B.1.6 1.6 C.1.5 1.5 D.1.6 1.5【解答】16/5/2.0 → (16/5)/2.0 → 3/2.0 → 1.516/5.0/2 → (16/5.0)/2 → 3.2/2 → 1.63. 下列语句中,_____ 将输出%d。
A.printf(“%d”); B.printf(“%%d”); C.printf(“\%d”); D.printf(“%%%d”)【解答】A.%d表示输出十进制整型量,但缺少相应的输出表达式,故输出结果是随机值;B.%%表示输出一个%符号本身,d是普通字符,原样输出,所以输出%d;C.\%表示符号%,%d表示输出十进制整型值,故输出结果是随机值;D.%%表示输出符号%本身,%d表示输出十进制整型值。
4. 下列程序段输出结果为_____。
int x=1, y=012;printf(“%d”,y*x++);A.12 B.10 C.20 D.24【解答】x++表达式的值是1,y*x++ → y*1 → y → 012 → 105. 下列程序段输出结果为_____。
中国民航大学 2009 - 2010 学年第二学期 《C 语言程序设计》期中考试试卷 课程编号: 03402513 试卷类型: A 卷 考试形式:笔试 考试日期: 注意事项: 1.请将试卷最后一页的答题纸撕下,将答案填写在其中; 2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交; 3.不准携带任何书籍、资料、纸张等。
4.草稿纸用试卷的背面。
一、单项选择题( 1 空 1 分,共 20 分) 1、C 语言程序的基本结构是 (【1】) 。
【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个 C 程序的执行是(【2】) 。
【2】 A) 从本程序的主函数开始,到本程序的主函数结束 B) 从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是 (【3】) 。
【3】 A) 一个 C 源程序必须有且只能有一个主函数 B) 一个 C 源程序可以含一个或多个子函数 C) 在 C 源程序中注释说明必须位于语句之后 D) C 源程序的基本结构是函数 4、下面不属于 C 语言保留字的是(【4】) 。
【4】 A) short B) ELSE C) extern D) for5、下列四个叙述中,正确的是 (【5】) 。
【5】 A) 库函数也是 C 语言本身的组成部分B) C 语言中的输入输出操作是由相应语句完成的C) 库函数是 C 编译系统提供的功能函数D) 标题文件(头文件)可以在程序的函数内部调用 题号 一 二 三 四 五 六 总分 得分 班级: 姓名: 准考证号: 任课教师 考场教室――――――――――――――――――――――――――装订线――― ――― ―― ――――― ―――― ――― ― ― ― ― ― ― ― ― ― ―-6、下列四组数据类型中, C语言允许的一组是(【6】)。
《C程序设计基础及实验》课程期中考试试卷参考答案试题一、单选题(每小题2分,共20分)1.以下正确的字符常量是______。
A.’\412’B.255 C.’\08’D.’\’【解答】A.八进制412超出了8位二进制所能表示的范围03ff;B.255是一个合法的整数,可以表示一个字节的值;C.8不是一个合法的八进制数字;D.\是转义字符,\’表示单个单引号字符本身,所以。
字符常量缺少右单引号。
2.假设有定义:float x=16/5/2.0, y=16/5.0/2; 则 x 和 y 的值分别为______。
A.1.5 1.6 B.1.6 1.6 C.1.5 1.5 D.1.6 1.5【解答】16/5/2.0 → (16/5)/2.0 → 3/2.0 → 1.516/5.0/2 → (16/5.0)/2 → 3.2/2 → 1.63.下列语句中, _____ 将输出%d。
A.printf(“%d ”); B.printf(“%%d”);C.printf(“\%d”);D.printf(“%%%d”)【解答】A.%d表示输出十进制整型量,但缺少相应的输出表达式,故输出结果是随机值;B.%%表示输出一个%符号本身,d是普通字符,原样输出,所以输出%d;C.\%表示符号%,%d表示输出十进制整型值,故输出结果是随机值;D.%%表示输出符号%本身,%d表示输出十进制整型值。
4.下列程序段输出结果为 _____。
int x=1, y=012;printf(“%d”,y*x++);A.12 B.10 C.20 D.24【解答】x++表达式的值是1,y*x++ → y*1 → y → 012 → 105.下列程序段输出结果为 _____。
int a=1,b=2,c=2,t;. .专业.知识.分享. .. .专业.知识.分享. .while(a<b<c) { t=a; a=b; b=t; c--; }printf(“%d,%d,%d”,a,b,c);A .1,2,0B .2,1,0C .1,2,1D .2,1,1【解答】a=1,b=2,c=2(1) 表达式a<b<c → 1<2<2 → 1 < 2 → 1条件成立,则执行循环体,结果为:a=2,b=1,c=1(2) 表达式a<b<c → 2<1<1 → 0 < 1 → 1条件成立,则执行循环体,结果为:a=1,b=2,c=0(3) 表达式a<b<c → 1<2<0 → 1 < 0 → 0条件不成立,循环结束。
c程序设计期中试题及答案
一、选择题
1. C语言中,下列哪个关键字可以声明常量?
A. const
B. static
C. extern
D. volatile
答案:A. const
2. 下列关于指针的说法中,错误的是?
A. 指针保存的是变量的地址
B. 指针变量必须在使用之前初始化
C. 指针可以指向一个函数
D. 指针占用的内存空间和指针指向的数据类型有关
答案:B. 指针变量必须在使用之前初始化
3. 下列循环结构中,哪个语句是用于结束当前循环,进入下一轮循环的?
A. break
B. continue
D. goto
答案:B. continue
4. 下列C语言中的标准库函数中,不属于输入输出函数的是?
A. printf()
B. scanf()
C. gets()
D. malloc()
答案:D. malloc()
5. C语言中,以下哪个运算符的优先级最高?
A. =
B. &&
C. *
D. ?:
答案:D. ?:
二、填空题
1. 编写一个函数,判断一个数是否为质数。
函数原型为:
int isPrime(int num);
```c
int isPrime(int num) {
int i;
if (num <= 1) {
return 0;
}
for (i = 2; i < num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
```
2. 填写以下代码的输出结果:```c
#include <stdio.h>
int main() {
char str[] = "Hello";
printf("%d\n", sizeof(str));
printf("%d\n", strlen(str));
return 0;
}
```
答案:
8
5
三、编程题
1. 编写一个C程序,实现将一个字符串中的小写字母转换为大写字母的功能。
要求原字符串不变,结果存放在新的字符串中。
函数原型为:
void convertToUpper(const char* src, char* dest);
答案:
```c
#include <stdio.h>
#include <string.h>
void convertToUpper(const char* src, char* dest) {
while (*src) {
if (*src >= 'a' && *src <= 'z') {
*dest = *src - 32;
} else {
*dest = *src;
}
src++;
dest++;
}
*dest = '\0';
}
int main() {
const char* src = "Hello, World!";
char dest[20];
convertToUpper(src, dest);
printf("原字符串:%s\n", src);
printf("转换后的字符串:%s\n", dest); return 0;
}
```
2. 编写一个C程序,实现将一个整数数组中的元素按照从小到大的顺序进行排序。
要求使用冒泡排序算法实现。
函数原型为:void bubbleSort(int arr[], int len);
答案:
```c
#include <stdio.h>
void bubbleSort(int arr[], int len) {
int i, j, temp;
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[] = {4, 2, 8, 5, 1};
int len = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, len);
printf("排序后的数组:");
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
以上是C程序设计期中试题及答案的内容。
希望对你有所帮助!。