《C语言程序设计》期中考试试卷

合集下载

C语言程序设计期中考试题

C语言程序设计期中考试题

C语言程序设计期中考试题一、选择题(每个3分共12分)1、关于函数的实参和形参说法正确的是()A、实参与其对应的形参共同占用同一个存储单元B、实参与其对应的形参各自占用独立的存储单元C、只有当实参与其对应的形参同名时才占用同一个存储单元D、形参是虚拟的不占用内存单元2、下列程序运行后的输出结果是()#include<stdio.h>void main(){ int i,sum=0;for(i=1;i<=10;i++)sum=sum+i;printf(“%d,%d\n”,i,sum);}A、10,55B、10,66C、11,55D、11,663、下列语句执行后,x的值是()int m=10,n=2,x=100;x*=m/n-m*n;A、300B、-1000C、-500D、5004、下列语句执行后,x的值是()float a=0.5,b=1.5,c=3.5;x=(a+b,3*c,0<=a<1);A、2B、4.5C、0D、1二、填空题(每空4分共48分)1、编程的过程是:问题分析、__________、编辑程序、编译连接、生成可执行程序、运行与调试。

2、一个C语言程序可以由多个源程序文件组成,每个文件中可以有若干函数,但有且只能有一个________函数。

3、C语言的标示符由字母、数字和________组成,其中第一个字符必须是________________4、与下列语句:if(a+b>c*d)res=a*b;else res=c+d;等价的语句是:res=__________________________________5、假设有定义:int x;则逻辑表达式x&&1等价于_________________________6、下列程序先输出m个空格,再输出n个指定的字符ch,请补充程序:#include<stdio.h>void print(__________________){ int i;for(i=1;i<=m;i++)__________________for(______________)printf(“%c”,ch);}7、阅读下列程序,并补充完整:#include<stdio.h>int sum(int n){___________________s=s+n;return s;}void main(){ int i,n,s;printf(“请输入一个正整数n,计算s=1+2+...+n\n”);scanf(“%d”,&n);for(i=1;i<=n;i++)s=sum(i);printf(“s=%d”,s);}8、下面程序的输出结果是__________________#include<stdio.h>void main(){ int num=0;while(num++<6){ printf(“%d,”,num);if(num=3)break;}printf(“%d\n”,num);}9、下面程序的输出结果是_____________#include<stdio.h>void main(){int a=2,b=3,c=1;printf("%d,%d,%d\n",a,b+c, a=10||--c||a-b);}三、程序设计题(共40分)1、(10分)编写函数sum,接收两个正整数a和n参数,计算a+aa+...+aa...a(n个a)的和并返回。

大学计算机专业《C语言程序设计》期中试卷及答案(二)

大学计算机专业《C语言程序设计》期中试卷及答案(二)

大学计算机专业《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)和一些质数(素数)因子的形式。

c程序设计期中考试题及答案

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语言程序设计期中试卷(含答案)

C语言程序设计期中试卷(含答案)

桂林电子科技大学信息科技学院试卷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 语言程序。

《C语言程序设计》期中考试试卷

《C语言程序设计》期中考试试卷

淮海工学院10–11学年第2学期C语言程序设计期中考试一试卷题号一二三四五总分得分单项选择题答题表1234567891011121314151617181920一、单项选择题(共 20 题,每题 1 分,共 20 分,答案填写在单项选择题答题表中)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 均定义为整型,要给它们输入数据,正确的输入语句是 ____________ 。

大一计算机专业C语言期中测试试题

大一计算机专业C语言期中测试试题

《程序设计基础》期中考试试卷班级姓名学号一、填空题(每题1分,共5分)1.上机运行C程序大致分四个步骤,分别是编辑、编译、和运行。

2.结构化程序设计方法的基本思想是自顶向下,逐步细化,和结构化编码。

3.C语言的控制结构有:顺序结构、和循环结构。

4.算法特点包括确定性、可行性、输入、输出和5. 77的2字节补码是,-77的2字节补码表示为(用十六进制表示)二、选择题(每题1分,共15分)1.判断下面标识符中哪个是C语言中合法的用户定义标识符()A. 2a1bB. a%bdC. _123D. char2.设有以下定义int a=0; double b=1.25; char c=‟A‟; #define M 2则下面语句中错误的是( )A. a--;B. b--;C. c--;D. M--;3.有两条语句:static char x[]=”abcde”;static char y[]={…a‟,‟b‟,‟c‟,‟d‟,‟e‟};则下列说法中正确的是( )A. 数组x和数组y长度相同B.数组x长度大于数组y长度C. 数组x长度小于数组y长度D. 以上三种说法均错误;4.设整型变量a=13,则经运算a+= a/=a%=5后,a的值为()A. 17.333B. 17C. 0D. 25. 已知:int n,i=1,j=2;执行语句n=i<j?i++:++j;后,i和j的值是( ).A. 1,2B. 1,3C. 2,2D. 2,36.有函数定义如下:当自变量x<0时y=-1;当x=0时y=0;当x>0时y=1;以下程序片段能实现该函数功能的是( ):A. if(x>=0)B. y=-1;C. if(x>=0)D. y=0;if(x>0) y=1; if(x!=0) if(x>0) y=1; if(x>=0) else y=-1; if(x>0) y=1 ; else y=0; if(x>0) y=1;else y= 0; else y=0; else y= -1; else y=-1;7.当a=2,b=1,c=3,d=4,m和n值为1时,(m=a>b)||(n=c>d)的值是( )A. TRUEB. FALSEC. 1D.08.在C语言程序中,以下说法正确的是( )A. main函数内部可嵌套定义子函数B. main函数必须出现在所有函数之前C. main函数必须出现在所有函数之后D. main函数是程序执行的入口9.关于局部变量和全局变量说法正确的是():A. 在main函数中定义的变量都为全局变量B. 当全局变量与局部变量同名时,全局变量起作用C. 当全局变量与局部变量同名时,局部变量起作用D. 以上说法都不正确10.下列关于switch和break语句的讨论中,只有()是正确的。

C语言程序设计考试试卷(附答案)

C语言程序设计考试试卷(附答案)

C语言程序设计考试试卷(附答案)C语言程序设计考试试卷(附答案)第一部分:选择题(共40题,每题2分,总分80分)1. 下列哪个关键字用于定义常量?A. constB. intC. staticD. volatile2. 在C语言中,以下哪个运算符用于将一个整数转换为浮点数?A. *B. /C. %D. +3. 下列代码的输出结果是什么?```c#include <stdio.h>void main() {int x = 2, y = 3;printf("%d", x++ * ++y);}```A. 7B. 8C. 9D. 104. C语言中,以下哪个运算符用于从一个整数中提取指定位数的值?A. <<B. >>C. |D. &5. 下列代码的输出结果是什么?```c#include <stdio.h>void main() {int arr[] = {1, 2, 3, 4, 5};int *ptr = arr + 2;printf("%d", *ptr);}```A. 1B. 2C. 3D. 4......40. 下列关于结构体的说法中,错误的是:A. 结构体可以包含不同类型的成员变量B. 结构体可以作为函数参数和返回值C. 结构体可以使用“->”来访问成员变量D. 结构体可以使用“sizeof()”函数获取其大小第二部分:填空题(共10题,每题4分,总分40分)1. 以下是有效的C语言标识符:___hello___2. 下列代码的运行结果是:___88___```c#include <stdio.h>void main() {int x = 8;printf("%d", x++);}```3. 在C语言中,以下是有效的声明:___int i, *p;___4. 下列代码的输出结果是:___10___```c#include <stdio.h>void main() {int arr[5] = {1, 2, 3, 4, 5};int *ptr = arr + 2;printf("%d", *(ptr + 2));}```5. 在C语言中,以下是合法的函数声明:___void fun(int x, float y);___......第三部分:编程题(共3题,每题20分,总分60分)1. 编写一个函数,接受一个整型数组和数组的长度作为参数,返回数组中的最大值。

c语言期中考试试题及答案

c语言期中考试试题及答案

《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】)。

【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型C) 整型、双精度型、布尔型 D) 整型、实型、复型7、在C语言中不同数据类型的的长度是(【7】)。

【7】 A) 固定的 B) 由用户自己定义的C) 任意的 D) 与机器字长有关8、下列四组(八进制或十六进制)常数中,正确的一组是(【8】)。

【8】 A) 016 0xbf 18 B) 0abc 017 0xaC) 010 -0x11 0x16 D) 0A12 7FF -1239、下列四组转义字符中,合法的一组是(【9】)。

C语言期中测试(含答案)

C语言期中测试(含答案)

C语言期中测试(开卷测试,答案写在白纸上)一.选择题(1)C语言源程序名的后缀是A).exe B).C C).obj D).cpp(2)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A5e-3 0Xa23 4c1.5 10,000-0xf 4.5e0 0abc 3.e5(3)以下正确的字符串常量是A)"\\" B)’abc’C)OlympicGames D)"" (4) 表达式3.6-5/2+1.2+5%2的值是A)4.3 B)4.8 C)3.3 D)3.8(5)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定(6)以下叙述中错误的是A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B)数组名代表的是数组所占存储区的首地址,其值不可改变C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D)可以通过赋初值的方式确定数组元素的个数(7)以下叙述中错误的是A)C语言源程序经编译后生成后缀为.obj的目标程序B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令(8)以下数组定义中错误的是A)int x[][3]={0};B)int x[2][3]={1,2,3,4,5,6};C)int x[][3]={{1,2,3},{4,5,6}};D)int x[2][]={1,2,3,4,5,6};(9)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(10)有以下程序段int j;float y;char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(11)有以下程序#include<stdio.h>main(){int y=9;for( ; y>0;y--)if(y%3= =0)printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421 (12) 有以下程序#include<stdio.h>int a=4;int f(int n){int t=0;static int a=5;if(n%2){a=6;t+=a++;}{ a=7;t+=a++;}return t+a++;}void main(){int s=a,i=0;for(;i<2;i++)s+=f(i);printf ("%d\n",s);}程序运行后的输出结果是A)24 B)28 C)32 D)36(13) 要求通过while循环不断读入字符,当读入字母N时结束循环。

下学期期中考试试卷(C语言程序设计)

下学期期中考试试卷(C语言程序设计)
A、-1B、0C、1D、语句错误
11、以下不合法的十六进进数是()。
A、0xffB、0XabcC、0x11D、0x19
12、下列可用于C语言用户标识符的一组是()。
A、ABCvoid3MB、mn_b3_123Car
B、goto-abdsumD、90bxyzconst
13、表示关系的数学表达式2<x<5的C语言表达式是()。
switch ( x )
{ case 0: a++;
case 1: b++;
case 2: a++ ; b++;
}
3、#include“stdio.h”
void main( )
{
int x=15, y=9 , i=13;
printf(“%d , %d\n”,++ x , ++y);
printf(“%d \n”, i++);
1、#include“stdio.h”
void main( )
{
int a=15 ,b=015 ,c=0x15;
printf(“%a=2d , b=%2d , c=%2d\n”, a , b ,c);
}
2、#include“stdio.h”
void main( )
{
int x=1, a=0 , b=0;
#include“stdio.h”
void main( )
{int x=4, y=6 , z=7;
int(1);
void main( )
{
int a=10 , b=50 , c=30;
if( a>b)a=a+b;

c语言期中考试试题及答案

c语言期中考试试题及答案

中国民航大学 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语言期中试卷

C语言期中试卷

《C语言程序设计》期中考试卷一、选择题1.下面程序段的运行结果是。

for(x=3;x<6;x++)printf((x%2)?(“**%d”):(“##%d\n”),x); A.**3B.##3C.##3D.**3##4 ##4**4**4##5**5**5##52.下面程序的运行结果是。

#include<stdio.h>int main(){int i;for(i=1;i<=5;i++)switch(i%5){case0:printf("*");break;case1:printf("#");break;default:printf("\n");case2:printf("&");}return0;}A.#&&&*&B.#&& &C.#*&*&D.#&下中的的值(其N中和分别表示一个三位数),请选择填空。

.. . ....以下正确的描述是。

句的作用是结束整个循环的执行只能在循环体内句体内使句C.在循坏体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出,只能使用goto语句5.在下面的程序中,。

#include<stdio.h>int main(){int t,x;for(t=1;t<=100;t++){scanf("%d",&x);if(x<0)continue;printf("%3d",t);}return0;}A.当x<0时整个循环结束B.x>=0时什么也不输出C.printf函数永远也不执行D.最多允许输出100个非负整数6.与下面程序段等价的是。

for(n=100;n<=200;n++){if(n%3==0)continue;printf(“%4d”,n);}A.for(n=100;(n%3)&&n<=200;n++)printf(“%4d”,n); B.for(n=100;(n%3)||n<=200;n++)printf(“%4d”,n); C.for(n=100;n<=200;n++)if(n%3!=0)printf(“%4d”,n); D.for(n=100;n<=200;n++){if(n%3)printf(“%4d”,n);else continue;break;}7.下面程序的运行结果是。

C语言程序设计期中测试(参考)

C语言程序设计期中测试(参考)

C语言程序设计期中测试(参考)C 语言程序设计期中测试题姓名_______ 学号________一、选择题:(单选, 1分/题, 共20分)1. 设有 int x=11; 则表达式 (x++ * 1/3) 的值是A) 3 B) 4 C) 11 D) 122. 下列变量定义中合法的是A) double _a=1-.le-1; B) int b=1+5e2.5; C) long do=3e5; D) float2_and=1-e-3;3. 设 int x=1, y=1; 表达式( !x||y-- )的值是A) 0 B) 1 C) 2 D) –14. 若变量已正确定义并赋值,下面符合C语言语法的表达式是A) a:=b++ B) b=2++ C) int 18.5%3 D) a+=c+b5. C语言中运算对象必须是整型的运算符是A) <= B) / C) = D) %=6. 设有说明语句:char a=’\72’; 则变量aA) 说明不合法 B) 包含2个字符 C) 包含3个字符 D) 包含1个字符7. 以下所列的C语言常量中,错误的是A) 0xFF B )1.2e0.5 C ) 2L D ) '\t'8. 下列选项中,可作为C语言变量名是A) y-3 B ) 4_x C ) include D ) x1..9. 若int a=3; 则执行完表达式a+=a-=a*a后,a的值是A)-3 B )9 C )-12 D )610. 在C语言中,合法的长整型常数是A) 12L B) x496271 C) 324562& D) 216D11. 以下选项中合法的字符常量是A)"B" B) '\182' C) 68 D) ‘\’’12. 以下合法的赋值语句是A) x=y=100 B) d--; C) x+y; D) 3+=x;13. 设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是printf("%d,%d\n",x--,--y);A) 10,3 B) 9,3 C) 9,2 D)10,214. 以下选项中,非法的字符常量是A) '\t' B) '\17' C)"n" D) '\xaa'15. 以下选项中合法的实型常数是A) 5E2.0 B) E-3 C) .2E0 D) 1.3E16. 已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是A) 字符A B) 字符a C) 字符e D) 非法的常量17. 以下选项中,与k=n++完全等价的表达式是_______。

C语言期中试卷(含答案)

C语言期中试卷(含答案)

C语⾔期中试卷(含答案)《 C语⾔》课程期中考试试卷⼀. 在A B C D四个选项中,选择⼀个正确的答案填⼊括号内( )1、⽤char定义的变量在IBM PC机中能表⽰的数的范围是:A) 0 ~+255 B) 0 ~+65535C) -128 ~+127 D) 只能存字符,不能存数( )2、设有int k=2; 则执⾏printf(“%d”,k++);的输出为:A) 0 B) 1 C) 2 D) 3()3、在while(!x)中,!x与______等价。

A) x==0 B) x!=0 C) x==1 D) x!=1()4、设有声明int value=?5?;,则执⾏下列选项的赋值语句后,value的值不等于5的是_____。

A.) value=value - ?0?; B) value=value - 0x30;C) value=value - 49; D) value=value - ?\060?;()5、如int k=7;float x=2.5,y=4.7; 则表达式 x+k%3*(int)(x+y)%2/4 运算后的值是:A) 0 B) 2 C) 2.5 D) 2.75( ) 6、若有int a,b;则语句:printf("%d",(a=2)&&(b=-2);的输出结果是:A)⽆输出 B)结果不确定 C)-1 D)1( ) 7、设有int a=2; 则执⾏printf("%d",5>a>1);的输出为:A)0 B)1 C)2 D)3( ) 8、执⾏语句c=(a=2,a+1,b=a++);后, a,b,c的值依次为:A)2,3,4 B)3,3,3 C)4,5,4 D)3,2,2( )9、以下程序的输出结果是A)2 0 B)3 1 C)3 2 1 D)2 1 0main( ){ int n=4;while(n--)printf("%d ",--n);}( )10、给出以下定义:char x[ ]="abcdef";char y[ ]={'a','b','c','d','e','f'};则正确的叙述为A) 数组x和数组y等价 B) 数组x和数组y的长度相同C) 数组x的长度⼤于数组y的长度 D) 数组x的长度⼩于数组y的长度( )11、若对⼀个函数调⽤在前, 定义在后,C语⾔将视其返回值为__________类型。

《C语言程序设计》期中试卷及答案

《C语言程序设计》期中试卷及答案
以下程序执行结果是x=127,x=┗┛┗┛┗┛
int x=0177; printf(x=%3d,x=%6d,x=%6o,x=%6x,x=%6u\n”,x,x,x,x,x);
4.C语言中的逻辑运算符按优先级由高到低的排列是
5.假设变量a,b均为整型,以下语句不借助任何变量把a,b中的值进行交换,请填空。a+=b;b=a-;a- =;
A) 0 B) 1 C) true D)非0定义如下变量:
19. int n=10;
则下列循环的输出结果是B
while (n>7)
{ n--;
printf(“%d\n”,n);
}
A) 10 B) 9 C) 10 D) 9
9 8 9 8
8 7 8 7
7 6
20.若k为整型,以下while循环_____C_____次。
A) trueB) 非零值C) 0D) 1
7.设int c=5和int a, a=2+(c+=c++,c+8,++c),则a=____B______
A) 15 B) 14 C) 13 D) 16
8.设a为整形变量,不能正确表达数学关系:10<a<15 的C语言表达式是__A__
A) 10<a<15B) a==11||a==12||a==13||a==14
5.若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是D
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);

C语言程序设计期中试卷A

C语言程序设计期中试卷A

期中试卷考试科目:C语言程序设计试题编号:A适用对象:网络121-2 使用学期:2012--2013--1 第一学期课程编号:共4道大题总分100分共4页考生须知:1)姓名必须写在装订线左侧,其它位置一律作废。

2)请先检查是否缺页,如缺页应向监考教师声明,否则后果由考生负责。

3)答案一律写在答题纸上,可不抄题,但要标清题号。

4)用蓝色或黑色的钢笔、圆珠笔答题。

监考须知:请将1份试卷放在答题纸上面一起装订。

一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,每小题2分,共20小题40分)1.假设x=2.5,a=7,y=4.7,则表达式:x+a%3*(int)(x+y)%2/4的值为()。

A 2.5 B 2.75 C 3 D 9.52.表达式k=(12<10)?4:1?2:3的值为()。

A 1 B 2 C 3 D 43.假设整型变量a为2,使b的值为0的表达式是( )。

A b=a/2 B b=6-(--AC b=a%2 D b=a>3?0:14.设有整型变量a,实型变量f,双精度型变量x,则表达式10+‘b’+x*f值的类型为( )。

Aint Bfloat Cdouble D不能确定5.假设a=3,b=4,c=5,则逻辑表达式: !(a+b)+c-1&&b+c/2的值是( )。

A true Bfalse C0 D 16.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

A缩进位置相同的if B在其之前未配对的ifC在其之前最近的未配对的if D同一行上的if7.在以下一组运算符中,优先级最高的运算符是( )。

A <= B = C % D &&8.C语言中,运算对象必须是整型数的运算符是()。

A % B / C %和/ D *9.sizeof (double)是一个()。

A整型表达式B实型表达式C不合法的表达式D函数10.以下关于运算符优先顺序的描述中,正确的是()。

C语言期中考试试卷

C语言期中考试试卷

一、单项选择题(本大题共 20 小题,每题只有一个正确答案,答对一题得 1 分,共 20 分)(1) 下列标识符中,合法的用户标识符为[ ]A) for B) 4d C) f2_G3 D) char(2) 以下选项中合法的字符常量是【】A)"B" B) '\010' C) 68 D) D(3) c语言中要求运算对象都必须为整型的运算符是[ ]A) % B) / C) * D) +(4) 已知ch是字符型变量,则不正确的赋值语句为[ ]A) ch=’a+b’;B)ch=’\0’;C) ch=’7’+’9’;D) ch=65+1;(5) 已知x、y均为整型变量,且x=10,y=3,则以下语句的输出结果是[ ]printf("%d,%d\n",x--,--y);A) 10,3 B) 9,3 C) 9,2 D) 10,2(6)已知x、y、z被定义为int型变量,若要从键盘输入x、y、z的值,正确的输入语句是[ ]A) INPUT x、y、z; B) scanf("%d%d%d",&x,&y,&z);C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);(7) 设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的值为[ ]A) 0 B) 1 C)2 D) 3(8) 变量c1,c2,c3均为字符类型,对输入函数scanf(“%c%c%c”,&c1,&c2,&c3),正确的输入格式为。

[ ] A) c1=a,c2=b,c3=c B) a,b,c C) abc D) a b c(9)已知t为int型变量,且进入下面的循环之前t的值为0while( t=l ){ ……}则以下叙述中正确的是[ ]A) 循环控制表达式的值为0 B) 循环控制表达式的值为1C) 循环控制表达式不合法D) 以上说法都不对(10) 以下关于运算符优先顺序的描述中正确的是____. [ ]A)关系运算符<算术运算符<赋值运算符<逻辑与运算符B)逻辑与运算符<关系运算符<算术运算符<赋值运算符C)赋值运算符<逻辑与运算符<关系运算符<算术运算符D)算术运算符<关系运算符<赋值运算符<逻辑与运算符(11) 能正确表示”当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是____ [ ]A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B)(x>=1)||(x<=10)||(x>=200) || (x<=210)C)(x=>1)&&(x<=10) || (x>=200)&&(x<=210)D)(x>=1) || (x<=10) && (x>=200) || (x<=210)(12) 判断char型变量ch是否为大写字母的正确表达式是____. [ ]A)’A’<=ch<=’Z’ B)(ch>=’A’)&(ch<=’Z’)C) (ch>=’A’)&&(ch<=’Z’) D)(‘A’<=ch)AND(‘Z’>=ch)(13) 以下不能对二维数组a进行正确初始化的语句是_____。

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

淮海工学院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 等价的表达式是____________。

A)w == lB)w == 0C)w != lD)w != 010.为了避免嵌套的if-else语句的二义性,C语言规定else总是与____________组成配对关系。

A)缩排位置相同的ifB)在其之前未配对的ifC)在其之前最近的未配对的ifD)同一行上的if11.选择出合法的if语句(设int x, a, b, c;)____________。

A)if(a == b) x++;1B)if (a =< b) x++;C)if(a <> b) x++;D)if (a=>b) x++;12.若变量已正确定义为int 型,要通过语句scanf("%d, %d, %d", &a, &b, &c);给a 赋值1、给b 赋值2、给c 赋值3,以下输入形式中错误的是(凵代表一个空格符)()。

A)凵凵凵1,2,3<回车>B)1凵2凵3<回车>C)1, 凵凵凵2, 凵凵凵3<回车>D)1,2,3<回车>13.C语言中while和do-while循环的主要区别是____________。

A)do-while的循环体至少无条件执行一次B)while的循环控制条件比do-while的循环控制条件严格C)do-while允许从外部转到循环体内D)do-while的循环体不能是复合语句14.以下关于数组的描述正确的是____________。

A)数组的大小是固定的,但可以有不同类型的数组元素B)数组的大小是可变的,但所有数组元素的类型必须相同C)数组的大小是固定的,所有数组元素的类型必须相同D)数组的大小是可变的,可以有不同类型的数组元素15.以下关于字符数组的描述中错误的是____________A)字符数组可以存放字符串B)字符数组中的字符串可以整体输入和输出C)可以在赋值语句中通过赋值运算符"="对字符数组整体赋值D)不可以用关系运算符对字符数组中的字符串进行比较16.若有定义语句:char s[10]="123\n\0\45670";,则strlen(s)的值是__________。

A)9B)7C) 3D) 417.在C语言程序中,下列叙述正确的是____________。

A)函数的定义可以嵌套,但函数的调用不可以嵌套B)函数的定义不可以嵌套,但函数的调用可以嵌套C)函数的定义和调用都可以嵌套D)函数的定义和调用均不可以嵌套18.以下叙述中错误的是________。

A)用户定义的函数中可以没有return 语句B)用户定义的函数中可以有多个return 语句,以便可以调用一次返回多个函数值C)用户定义的函数中若没有return 语句,则应当定义函数为void 类型D)函数的return 语句中可以没有表达式19.在声明一个结构体类型时系统分配给它的存储空间是____________。

A)该结构体变量中第一个成员所需存储空间B)该结构体变量中最后一个成员所需存储空间C)该结构体变量中所有成员所需存储空间的总和D)结构体类型本身并不占用存储空间,即系统并不给结构体类型分配存储空间20.已知函数调用f(1, 'k' + 5, g(1,2,3)),则函数f定义中的形参个数为_________个。

A) 2B) 3C) 4D) 5二、填空题(共15空,每空1分,共15分)1.C编译器的功能是___*.c -- *.obj_________。

2.表达式9 / 5 + 4的值是____5________。

表达式 3 * (4 + 5)的值是___27_________。

3.判断整型变量n是否是偶数的逻辑表达式是_n%2==0__________。

4.程序的三种基本控制结构分别是_顺序__、_分支__和_循环_。

5.C语言中的循环控制语句有while、do…while和___for_______语句三种。

6.计算数组的存储空间可以使用sizeof运算符,计算数组a的存储空间的表达式是__sizeof(a)__________。

计算数组a的元素个数的表达式是____sizeof(a)/sizeof(a[0])___。

7.在函数中可以利用__return_语句返回函数计算结果8.若有定义int a[] = {1,2,3,4,5,6},则数组a的大小为____6___,引用数组a的最后一个元素的表达式是__a[5]_________。

9.C语言使用关键字__break___定义立即结束本次循环体的执行。

10.读取一行文本的字符串处理函数是_gets()/scanf("%s", )_。

2三、程序分析题(共5题,每题5分,共25分)1.写出以下程序的运行结果(假定程序已包含正确的头文件)。

#include <stdio.h>main(){int x=1,y=0;if(!x)y++;else if(x==0)if (x) y+=2;else y+=3;printf("%d\n",y);}y=02.写出以下程序的运行结果(假定程序已包含正确的头文件)。

main() {int n = 1, fact = 1;while (n <= 5) {fact = fact * n;++n;}printf("%d\n", fact);}5X4X3X2X1=1203.写出以下程序的运行结果(假定程序已包含正确的头文件)。

main() {int a[10] = {1, 2, 3, 4, 5};printf("%d\n", a[4] + a[9]);}5+0=54.写出以下程序的运行结果(假定程序已包含正确的头文件)。

#include <stdio.h>int fun(){static int x=1;x*=2;return x;}main(){int i,s=1;for(i=1;i<=3;i++) s*=fun();printf("%d\n",s);}645.写出以下程序的运行结果(假定程序已包含正确的头文件)。

int fun(int n) {int m;m = 4 * n;return m;}main() {int k = 50, s;s = fun(k);printf("%d\n", s);}200四、程序填空题(共10空,每空2分,共20分)1.下面的程序计算整数n的因子的和,请填空。

#include <stdio.h>void main() {int i, n, sum;printf("n = ");scanf("%d", _&n___); /* 读取整数n */sum = __0___________;3for(i = 1; i <= n; ++i)if ( n % i == 0)_sum +=i__________________;printf("sum = %d\n, __sum____);}2.下面的程序中定义的函数fun计算数组元素的最大值,请填空int fun(int b[10]) {int max, i;max = __b[0]_; /* b[0] ~b[9] 都可以的*/for (i = 1; i < 10; __i++___)if (__b[i]>max__) max = b[i]; /* max <b[I] */return __max___;}void main() {int m, a[10] = {56, 32, 78, 99, 12, 43, 31, 67, 90, 17};m = fun(a); /* 调用函数fun */printf("Max = %d\n", m);}五、程序设计题(共2小题,共20分)1.编写一个程序,输入一个整数n,输出大于n的最小的素数。

例如输入12,程序应输出13;若输入24,程序应输出29。

(本题8分)#include <stdio.h>#Include <math.h>int isPrime(int n);int main(void){int n;int i;printf("Input n: ");scanf("%d", &n);for(i=n+1; ;i++)if(isPrime(i)){printf("%d\n", i)break;;}return 0;}int isPrime(int n){int i;for(i=2; I<sqrt(n); i++)if (n%i==0)return 0;return 1;}2.编写一个名为min的函数计算三个整数a,b和c的最小值;然后编写main函数调用该函数计算大小为5的一维数组的最小值并输出。

相关文档
最新文档