中南大学考试试题(C语言)08级电气类程序设计试题答案
- 格式:doc
- 大小:31.00 KB
- 文档页数:2
天津工业大学200 8 ~200 9 学年第 2 学期C 程序设计试卷(A)学院班级学号姓名注意事项:1、本试卷共13 页,满分为100 分,考试时间为110 分钟。
2、标准答题卡使用2B铅笔涂写;文字题答题时请使用蓝、黑钢笔或圆珠笔,不得使用红颜色墨水笔。
二、阅读程序题答题处:(每空3分,共30分)四、完善程序填空题答题处:(每空2分,共18分)一、单项单选题:(每题 1 分,共40 分)(说明:请将正确答案按照题干上【】内的序号涂写“标准答题卡”)1.以下标识符中,能够作为变量名使用的是【1】。
A) n_1 B) charC) x(2) D) 2_a2.若有定义语句char ch='\072'; 则变量ch 【2】。
A) 定义错误B) 包含1个字符C) 包含3个字符D) 包含4个字符3.已知字母B的ASCII码值为66,则运行下面程序段后,输出结果是【3】。
char ch1; ch1='B'+'5'-'3'; printf("%d,%c",ch1,ch1);A) D,D B) 68,DC) D,68 D) 68,684.若有如下语句:int x; float y;scanf("k=%d,f=%f",&x,&y);则能够正确的为变量x输入5、为变量y输入3.2的方法是【4】。
说明:备选答案中的<CR>表示回车符A) 5 3.2 <CR> B) 5 <CR> 3.2 <CR>C) k=5,f=3.2 <CR> D) x=5,y=3.2 <CR>int k=10; printf("%d,%o,%x",k,k,k);A) 12,a,10 B) 12,10,aC) 10,12,a D) 10,a,126.判断char 型变量ch 是否为小写字母的正确表达式是【6】。
C语言复习资料5元必须清楚的:1)程序结构是三种: 顺序结构, 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节= 八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低。
第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e后必为整数。
.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。
4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。
碰到这种情况,不要去管,一样做题。
掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。
(完整版)C语⾔题库(带详解答案)⼀单项选择题1.(A)是构成C语⾔程序的基本单位。
A、函数B、过程C、⼦程序D、⼦例程2.C语⾔程序从 C开始执⾏。
A) 程序中第⼀条可执⾏语句 B) 程序中第⼀个函数C) 程序中的main函数 D) 包含⽂件中的第⼀个函数3、以下说法中正确的是(C)。
A、C语⾔程序总是从第⼀个定义的函数开始执⾏B、在C语⾔程序中,要调⽤的函数必须在main( )函数中定义C、C语⾔程序总是从main( )函数开始执⾏D、C语⾔程序中的main( )函数必须放在程序的开始部分4.下列关于C语⾔的说法错误的是(B)。
A) C程序的⼯作过程是编辑、编译、连接、运⾏B) C语⾔不区分⼤⼩写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执⾏5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满⾜(1);选项D中的int为关键字,不满⾜(3)6.下列C语⾔⽤户标识符中合法的是( B)。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满⾜(2);选项C,E均为为关键字,不满⾜(3);选项D中的“-”不满⾜(1);7.下列四组选项中,正确的C语⾔标识符是(C)。
A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满⾜(1);选项D中的标识符以数字开头不满⾜(2)8、下列四组字符串中都可以⽤作C语⾔程序中的标识符的是(A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满⾜(1);选项C中的while 为关键字,不满⾜(3)9.C语⾔中的简单数据类型包括(D)。
电气类专业C程序设计上机考试试题(附答案)第一题1.输入一小写字母,分别以字符形式与数值形式输出与该小写字母相应的大写字母2.输入一个华氏温度,要求输出摄氏温度。
公式为c=5/9*(f-32)3.写一个程序,输入实数X,输出Y,计算Y=3X3+0.4X2-2 X / 34.编写程序:读入三个整数a,b,c,然后交换它们中的数,使a存放b的值,b存放c的值,c存放a的值。
5.编写程序:输入9时23分并把它化为分钟后输出。
(从零点整开始计算)。
6.要将“Chiina”翻译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。
例如,字母“A”后面的4个字母是“E”,用“E”代替“A”。
因此,“Chian”应译成“Glmre”。
用赋初值的方法是c1,c2,c3,c4,c5五个变量的值分别为‘C’、‘h’、‘i’、‘n’、‘a’,经过运算,使c1、c2、c3、c4、c5分别为‘G’、‘l’、‘m’、‘r’、‘e’,并输出7.编写程序,用getchar函数读入两个字符c1,c2,然后分别用putchar函数和prinf函数输出这两个字符以及它们的ASCII值。
8.设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积9.编写程序,输入两个整数,计算并输出它们的和、差、积、除(精确除)、整除及模的结果。
10.编一程序,对于一个给定的一个百分制成绩,输出相应的五分制成绩。
设:90分以上为ˊAˊ,80~89分为ˊBˊ,70~79分为ˊCˊ,60~69分为ˊDˊ,60分以下为ˊEˊ。
11.输入3个整数,要求按由小到大的顺序输出12.输入4个数,输出其中的最大数和最小数。
13.写一程序,输入x,输出y14.给定一个不多于5的正整数,要求:(1)求它是几位数;(2)分别打印出每一位数字(3)按逆序打印出各位数字。
例如原数为321,应输出123。
15.编写程序,要求输入整数a和b.若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。
C 语言程序设计试卷一、单项选择题(每题1分,共20分)1. C语言规定:在一个源程序中,main函数的位置( )。
A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后2. 下面四个选项中,均是合法浮点数的选项是( )。
A. +1e+1 5e-9.4 03e2B. -.60 12e-4 -8e5C. 123e 1.2e-.4 +2e-1D. -e3 .8e-4 5.e-03. 若a=-14,b=3,则条件表达式a<b? a:b+1的值为()。
A. -14B. -13C. 3D. 44. 已知:int n,i=1,j=2;执行语句n=i<j?i++:j++;则i和j的值是( ).A. 1,2B. 1,3C. 2,2D. 2,35. 为了判断两个字符串s1和s2是否相等,应当使用( )A. if (s1==s2)B. if(s1=s2)C. if (strcmp(s1,s2))D. if (strcmp(s1,s2)==0)6. 以下正确的描述是( )。
A. 函数的定义可以嵌套,但函数的调用不可以嵌套。
B. 函数的定义不可以嵌套,但函数的调用可以嵌套。
C. 函数的定义和函数的调用均不可以嵌套。
D. 函数的定义和函数的调用均可以嵌套。
7. 在C语言中,下面对函数不正确的描述是( )。
A. 当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。
B. 允许函数递归调用。
C. 函数形参的作用范围只是局限于所定义的函数内。
D. 子函数必须位于主函数之前。
8. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( )。
A. 该变量只在该复合语句中有效B. 该变量在该函数中有效C. 该变量在本程序范围内均有效D. 该变量为非法变量9. 以下正确的函数形式是( )。
A. double fun(int x,int y) { z=x+y;return z;}B. fun(int x,y) { int z; return z;}C. fun(x,y) { int x,y; double z; z=x+y; return z;}D. double fun( int x,int y) {double z; z=x+y; return z; }10. 以下程序的输出结果是( )。
《C语言程序设计》(卷)考核班级学生数印数考核方式闭卷考核时间120 分钟(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷第一部分:基础知识(20项,共40分)1.一个C语言程序是由()组成的。
A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是()。
A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b) printf ( “------------“) ;的正确说法是()。
A.循环体只执行一次B.死循环C.循环体一次也不执行D.输出-----------4.若x、y、z均为int 型变量,则执行下列语句后的z值为()。
x=1; y=2; z=3; z=(x>y)?z :y ; z = (z<y)?z:x;A.1 B.4 C.2 D.35.下面标识符中,合法的用户标识符为()。
A.P#Ad B.12a C.char D._int6.‘A’+ 3 的结果是()。
A.’A’B.’D’的ASCⅡ码C.65 D.37.语句char str[20];说明str是一个字符串,最多能表示()。
A.20个字符B.19个字符C.18个字符D.21个字符8.将int 型变量n转换成float型变量的方法是()。
A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是()。
A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成B.while循环是先判断表达式后执行循环体语句C.do-while和for循环均是先执行循环体语句,后判断表达式D.for、while、do-while循环中的循环体均可以由空语句构成10.在循环中使用break 语句的功能是()。
A.使程序的执行跳出break所在的那一重循环B.使程序执行结束C.跳出包含此break语句的所有循环D.终止本次循环,继续下次循环11.下面是一个初始化指针的语句:int *px = &a;其中指针变量的名字应该是()。
一、选择题(每题1分,共20分)1.设 int b=2;表达式b/(b*2)的值是()。
A. 0B. 0.5C. 0.500000D. 0.000002.下列标识符中不合法的标识符的是()。
A. hot_doB. cat1C. _priD. 2ab3.以下程序的输出结果是()。
void main(){int k=17;printf("%d,%o,%x \n",k,k,k);}A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,114.设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为()。
A.4 B.16 C.32 D.525.下述程序段中,while循环执行次数是( )。
int k=0;while(k=1) k++;A. 无限次B. 有语法错误,不能执行C. 一次也不执行D. 执行一次6. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。
A. a < > 0B. !aC. a=0D. a!=07.执行下述语句后,*(p+1)的值是( )。
char s[]= “ab”,*p;p=s;A.‘b’B. OC. 不定值D. 非法引用128.有以下语句:int b;char c[10];,则正确的输入语句是( )。
A. scanf("%d%s",&b,&c);B. scanf("%d%s",&b,c);C. scanf("%d%s",b,c);D. scanf("%d%s",b,&c);9.能正确表示a 和b 同时为正或同时为负的逻辑表达式是( )。
A. (a>=0‖b>=0)&&(a<0‖b<0)B. (a>=0&&b>=0)&&(a<0&&b<0)C. (a+b>0)&&(a+b<=0)D. a*b>010.C 语言中的逻辑运算结果,用( )表示逻辑“真”值。
2022年中南大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、设x=10100011,若要通过x*y使x的高4位取反,低4位不变,则y的二进制数是_______。
2、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数________完成的。
3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、在C语言中,8作为双目运算符时表示的是_______,而作为单目运算符时表示的是_______。
5、已知字母a的ASCIl码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-3'的值为_______。
6、已有一维数组a,n为元素的个数,且各元素均有值;函数void process(float*p,int n,float(*fun)(float*,int))为一个可完成下面各种计算的通用函数。
请分别写出用于以下计算的各函数中的调用语句_______、_______和_______。
(1)float arr_add(float*arr,int n)计算数组元素值之和。
(2)float odd_add(float*p,int n)计算下标为奇数的元素之和。
(3)float arr_ave(float*p,int n)计算各元素的平均值。
7、下面程序段中循环体的执行次数是_______。
a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。
_______9、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。
年国家开放大学电大《C语言程序设计》期末考试及答案参考[试题分类]:C语言程序设计1.下列关于 C语言中 main 函数位置的叙述中,正确的是 A.必须在程序的最后 B.必须在程序的开始处 C.可以在程序中的任意位置 D.必须在系统调用的库函数后面答案:C 题型:单选题知识点:第 2章C 语言概述难度:12.下列选项中,不能作为 C语言标识符是 A.__ B.int C.a_1 D.ab1e_e 答案:B 题型:单选题知识点:第 2章C 语言概述难度:13.若有定义“int i; float f; double d;”,则表达式“10+d+i_f”的数据类型为 A.int B.float C.double D.不确定答案:C 题型:单选题知识点:第 3章数据类型与运算规则难度:14.判断 char型变量 c 是否为小写字母的正确表达式为 A."a"<=c<="z" B.(c>=a)&;&;(c<=z) C.("a">=c)("z"<=c) D.(c>="a")&;&;(c<="z") 答案:D 题型:单选题知识点:第3章数据类型与运算规则难度:15.若有定义“int _=11;”,则表达式“(_++_1/3) ”的值是 A.12 B.11 C.4 D.3 答案:D 题型:单选题知识点:第 3章数据类型与运算规则难度:26.若有定义“int a=1,b=2,c=3,d=4;”,则表达式“a<b?a:c<d?c:d”的值是 A.1 B.2 C.3 D.4 答案:A 题型:单选题知识点:第 3章数据类型与运算规则难度:27.若有定义“int a=1, b=0, c=0, _=35;”,则执行下列程序段后,变量 _的值是if(!a) _--;else if(b);if(c) _=3;else _=4; A.3 B.4 C.34 D.35 答案:B 题型:单选题知识点:第 5章选择结构的程序设计难度:28.{ 若有定义“int _=1,y=1,m=1,n=1;”,则执行下列语句后,变量 _和 y的值分别是switch (m) \{case 0: _=__2;case 1:switch (n) \{case 1: _=__2;case 2: y=y_2; break;case 3: _++;\}case 2: _++; y++;case 3: __=2; y_=2; break;default: _++;y++;\} } A._=2,y=1 B._=2,y=2 C._=6,y=6 D._=7,y=7 答案:C题型:单选题知识点:第 5章选择结构的程序设计难度:29.若有定义“int i,j;”,执行语句“for (i=0,j=1; i<=j+1; i+=2,j--) printf (“%d”,i);”时的循环次数是 A.3 B.2 C.1 D.0 答案:C 题型:单选题知识点:第 6章循环结构的程序设计难度:210.若有定义“int n=4;”,则执行语句“while(n--)printf(“%d”,n--);”后的输出结果是 A.20 B.31 C.210 D.321 答案:B 题型:单选题知识点:第 6章循环结构的程序设计难度:211.{ 若有定义“int _=3;”,则执行下列语句后的输出结果是do \{printf(“%d ”,_+=1);\} while(--_); }A.4 B.4 4 4 D.死循环答案:D 题型:单选题知识点:第 6章循环结构的程序设计难度:212.若有定义“char a[]=“_yz”,b[]={"_","y","z"};”,则下列叙述中正确的是 A.数组 a 的长度大于数组 b 的长度 B.数组 a 的长度小于数组 b 的长度 C.数组 a 和数组 b 的长度相同 D.数组 a 和数组 b 等价答案:A 题型:单选题知识点:第7章数组难度:113.{ 若有定义“intaa[4][4]=\{\{1,2,3,4\},\{5,6,7,8\},\{3,9,10,2\},\{4,2,9,6 \}\}, i,s=0;”,则执行下列语句后,变量 s 的值是for(i=0;i<4;i++)s+=aa[i][0];} A.20 B.19 C.11 答案:C 题型:单选题知识点:第 7章数组难度:214.调用函数时,若实参是一个数组名,则向函数传送的是 A.数组的长度 B.数组的首地址 C.数组每一个元素的地址 D.数组每个元素中的值答案:B 题型:单选题知识点:第 8章函数难度:115.下列各函数首部中,正确的是 A.void play(var :Integer,var b:Integer) B.void play(int a,b) C.Sub play(a as integer,b as integer) D.void play(int a,int b) 答案:D 题型:单选题知识点:第 8章函数难度:116.若有定义“int n=2,_p=&;n,_q=p; ”,则下列选项中,非法的赋值语句是 A.p=n; B.p=q; C.n=_q; D._p=_q; 答案:A 题型:单选题知识点:第 9章指针难度:217.若有定义“int _p[3]; ”,则下列叙述中正确的是 A.定义了一个类型为 int 的指针变量 p,该变量具有三个指针B.定义了一个名为_p的整型数组,该数组含有三个 int 类型元素 C.定义了一个指向一维数组的指针变量 p,该一维数组应具有三个 int 类型元素 D.定义了一个指针数组 p,该数组含有三个元素,各元素都是基类型为 int 的指针答案:D 题型:单选题知识点:第 9章指针难度:218.下列对枚举类型名的定义中正确的是 A.enum a={one,two,three}; B.enum a {one=9,two=-1,three}; C.enum a={“one”, “two”, “three”}; D.enum a{“one”, “two”, “three”}; 答案:B 题型:单选题知识点:第 10章结构、联合与枚举类型难度:219.{ 若有如下定义:struct student\{int num;int age;\}stu[3]=\{\{1001,20\} , \{1002,19\} , \{1003,21\}\} , _p=stu; 则下列表达式中,值为 1002的是 } A.p++->num B.(p++)->age C.(_++p).numD.(_p).num 答案:C 题型:单选题知识点:第 10章结构、联合与枚举类型难度:220.下列选项中,可以作为函数 fopen中第一个参数的是 A.“c:\\user\\te_t.t_t” B.c:\user\te_t.t_t C.“c:\user\te_t.t_t”D.c:user\te_t.t_t 答案:A 题型:单选题知识点:第 11章文件难度:121.若 y是 int型变量,则判断 y 为偶数的关系表达式为__________。
2008级计算机程序设计基础试题参考答案(A卷)一.写出下列语句、表达式、程序的运行结果(每空2分,共24分)1.12.1, 23.44.6,7 5.06.9 7.3.5 8.199.-1 10. 6,9二.下列各程序中每个程序各有2个错误,指出错误语句,并将正确语句写在旁边(每小题4分,共20分)1.文件开头加<math.h>float c;写在a=2; b=3;之前2.scanf (“ %f ”,a); 改成scanf(“ %f ”,&a);b=5/8*(a-12); 改成b=5.0/8*(a-12);3.在子函数f中:加语句if(m= =0) a=1;和语句return(a);4.变量定义中加语句int sum=0;for(i=1;i<=3;i++) 改为for(i=0;i<3;i++)5. 将语句y=2x; 改为y=2*x;在语句 y=2x;之前加 {在语句printf(“%d”,y); 之后加 }三.简答题(每小题6分,共18分)1.while循环是首先判断循环条件是否成立,若成立则执行循环,若不成立循环则一次也不执行;do-while循环是先执行循环,再判断循环条件是否满足,若满足则继续执行循环,若不满足则终止循环的运行。
在do-while循环中,循环体至少要执行一次。
2.break语句是当break语句前的判断条件成立时,立即结束循环,跳出循环体,不再进行条件判断;continue语句是当continue语句前的判断条件成立时,结束本次循环,跳过本次循环体下面尚未执行的语句,接着“增”或“减”循环控制变量,再继续判断条件是否满足。
3.*(p++)是先取*p的值,后使p加1,对本例即先得到a[0]的值,然后p 指针指向a[1];*(++p)使先使p加1,后取*p的值,对本例即p指针指向a[1],再得到a[1]的值。
四.下列各程序中,有若干条语句未被写出。
一、选择题(15小题,每小题2分,共计30分)1.下面不正确的字符串常量是 A 。
A)'abc' B)"12'12" C)"0" D)" "2.以下正确的叙述是 DA)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误(精确)地表示D)在C程序中,%是只能用于整数运算的运算符3.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'十'6'一'3';后,c2中的值为 AA)D B)68 C)不确定的值 D)C4.sizeof(float)是 B :A)一个双精度型表达式 B)一个整型表达式C)一种函数调用 D)一个不合法的表达式5.以下说法正确的是 D :A)输入项可以为一实型常量,如scanf("%f",3.5);B)只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);6.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是 D (注:<CR>表示回车)。
int a1,a2; char c1,c2;scanf("%d%d",&a1,&a2); scanf("%c%c",&c1,&c2);A) 1020AB<CR> B)10 20<CR>AB<CR>C)10 20 AB<CR> D)10 20AB<CR>7.请阅读以下程序:void main(){int a=5,b=0,c=0;if(a=b+c) printf("***\n");e1se printf("$$$\n");以上程序 D :A)有语法错不能通过编译 B)可以通过编译但不能通过连接C)输出*** D)输出$$$8.下面程序段的运行结果是 C 。
C语言程序设计习题集东华理工大学2014.9基础知识一单项选择题(每题2分,共44分)1 以下叙述正确的是___。
A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从___开始执行的。
A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句___。
A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。
A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。
A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是___。
A %B ++C /D =7 设a和b均为int型变量,则执行以下语句后的输出为___。
int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 已知int i;,则执行语句 i=2.6;后,i的值为___。
A 2B 3C 2.6D 不确定9 以下合法的字符常量为___。
A 'ab'B '\482'C '\'D '\xaf'10 若y为int型变量,则执行以下语句后,y的值是___。
y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是___。
A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。
printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。
(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。
()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。
()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。
()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。
答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。
答案:911. 在C语言中,用于动态分配内存的函数是______。
答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。
答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
电大本科c语言程序设计试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是合法的标识符?A. 2variableB. intC. _123abcD. float答案:C2. 下列选项中,哪个是C语言中合法的整型常量?A. 012B. 0x1FC. 1.23D. 0b1010答案:B3. 在C语言中,以下哪个关键字用于定义函数?A. classB. functionC. defineD. void答案:D4. C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = {"Hello"};D. char str[] = {"Hello"};答案:A5. 下列关于C语言数组的描述中,正确的是:A. 数组的大小在定义后可以改变B. 数组的元素必须是同一类型C. 数组名代表数组的第一个元素的地址D. 数组可以作为函数的参数答案:B6. C语言中,以下哪个选项是正确的注释方式?A. // This is a commentB. /* This is a comment */C. //* This is a commentD. /* This is a comment */答案:A7. 在C语言中,以下哪个选项是正确的逻辑运算符?A. &&B. ||C. andD. or答案:A8. C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:A9. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > 0)B. if x > 0C. if (x > 0)D. if (x > 0)答案:D10. C语言中,以下哪个选项是正确的循环结构?A. whileB. do-whileC. forD. all of the above答案:D二、填空题(每题2分,共20分)1. C语言中,字符常量可以用单引号括起来,例如:'A'。
C语言程序设计试题附答案3篇C语言程序设计试题附答案11. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'; B float a=b=10.0;C)int a=10,b= D)float a,b=4.下列选项中,不能用作标识符的是( D )A)_1234_ B)_1_2 C) int_2_ D)2_int_5.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则 ( B )A)称为函数的直接递归调用 B)称为函数的间接递归调用C)称为函数的循环调用 D)C语言中不允许这样的递归调用6.以下叙述中正确的是 ( A )A)局部变量说明为static存储类,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B)A)for(i=1,p=1;i=0_______;i--){if(____i%17==0____④________) break;}printf("%d\n",__⑤_i____);}3.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。
main(){ int i,a[20],sum,count;sum=count=0;for(i=0;i0)?? { count++;?? sum+= _a[i]__③___ ;?? }? }printf("sum=%d,count=%d\n",__sum④___,__⑤__count___);}4.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。
C语言程序设计试题第1、2、3章概述、类型、表达式一、选择题一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:()A、任意B、第一个函数必须是主函数,其他函数任意C、必须完全按照执行的顺序排列D、其他函数可以任意,,主函数必须在最后答案:A下列四个叙述中,正确的是:()A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、C语言中的所有关键字必须小写答案:D下列四个叙述中,错误的是:()A、一个C源程序必须有且只能有一个主函数B、一个C源程序可以有多个函数C、在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数答案:C下面不是C语言合法标识符的是:()A、abcB、5nC、_4mD、x3答案:B以下叙述不正确的是:()A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定非用main来表示答案:DC语言中允许的基本数据类型包括:()A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型答案:BC语言中能用八进制表示的数据类型为:()A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型答案:A下列属于C语言合法的字符常数是:()A、’\97’B、”A”C、’\t’D、”\0”答案:C在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:()A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double答案:A在C语言中(VC环境),一定是长整型常数的是:()A、0LB、4962710C、0412765D、0xa34b7fe答案:A若有以下定义语句char c1=’b’, c2=’e’; printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:()A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定答案:B以下合法的赋值语句是:()A、x=y=100B、d--;C、x + yD、c = int(a+b);答案:B设变量t为int型,下列选项中不正确的赋值语句是:()A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;答案:D在以下一组运算符中,优先级最高的是:()A、<=B、==C、%D、&&答案:C下列能正确表示a≥10或a≤0的关系表达式是:()A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=0答案:C下列只有当整数x为奇数时,其值为“真”的表达式是:()A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、!(x%2)答案:B设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:()A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)答案:A已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:()A、0B、语法错C、1D、“假”答案:C表达式17%4 /8的值为:()A、0B、1C、2D、3答案:A语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:()A、无输出B、结果不确定C、-1D、1答案:D一个可执行的C程序的开始执行点是:()A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数答案:C组成C语句的一个必不可少的符号是:()A. 逗号B. 引号C. 冒号D. 分号答案:D若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:()A. intB. longC. floatD. double答案:D下述是C语言中有关变量定义的几个说法,正确的是:()A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化答案:D与x * = y + z等价的赋值表达式是:()A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z答案:C当代电子计算机能够自动地处理指定的问题是因为:()A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是( 知识点:程序的基本概念;难度系数:2;答案:C )以下叙述中最准确的是:()A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合( 知识点:程序的基本概念;难度系数:2;答案:D )关于计算机程序设计,以下描述最准确的是:()A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序( 知识点:程序设计的基本概念;难度系数:1;答案:C )目前编写计算机程序一般采用的是:()A.机器语言B.汇编语言C.高级语言D.英语( 知识点:程序设计的基本概念;难度系数:1;答案:C )设计一个计算机程序最基本的工作是:()A.制定正确的算法B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构D.以上都不是( 知识点:算法的基本概念;难度系数:1;答案:C )算法具有五个特性,以下选项中不属于算法特性的是:()A.有穷性B.简洁性C.可行性D.确定性( 知识点:算法的基本概念;难度系数:3;答案:B )下述哪一个不是结构化程序基本结构:()A.顺序B.选择C.循环D.嵌套( 知识点:结构化程序设计的概念;难度系数:2;答案:D )C语言是一种:()A.机器语言B.汇编语言C.高级语言D.以上都不是( 知识点:C语言的特点;难度系数:1;答案:C )C语言源程序的扩展名为:()A..exe B..c C..obj D..cpp( 知识点:C语言的特点;难度系数:1;答案:B )C程序编译后最终产生(即计算机执行)的文件的扩展名为( )A..exe B..c C..obj D..cpp( 知识点:C语言的特点;难度系数:1;答案:A )下列各项中,不是C语言的特点是:()A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能( 知识点:C语言的特点;难度系数:3;答案:D )构成C语言源程序的基本单位是:()A.子程序B.过程C.文本D.函数( 知识点:C程序的特点;难度系数:1;答案:D )下列叙述正确的是:()A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行( 知识点:C程序的特点;难度系数:2;答案:C )某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:()A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行( 知识点:C程序的特点;难度系数:1;答案:B )以下叙述不正确的是:()A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示( 知识点:C程序的特点;难度系数:1;答案:D )以下为C语句的是:()A.a=8B.a++;C.if(a>8)D.#include <stdio.h>( 知识点:C语句的特点;难度系数:2;答案:B )以下不是C语句的是:()A.a=8;B.a++;C.if(a>8);D.for(i=1;i<5;i++)( 知识点:C语句的特点;难度系数:2;答案:D )以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);( 知识点:C语句的特点;难度系数:2;答案:B )C程序中的复合语句指的是:()A.并列的多个C语句B.写在同一行中的多个C语句C.用一对大括号对括的多个C语句D.就是函数体中的语句( 知识点:C语句的特点;难度系数:2;答案:C )当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( ) A.由系统自动换行B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行( 知识点:C语句的特点;难度系数:2;答案:C )在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。
中南大学2010-2011学年C语言时间110分钟一、填空题(每空2分,共30分)1、若int x = 2,y = 7,z = 6;则表达式:x= = ( y = z );执行完后,x的值是;y的值是。
2、若int a,b = 9,d = 8;表达式:a =(――b= = d+ +)? d++ : ――b;则a的结果是;表达式执行完后d的值为。
3、已有宏定义#define P(x) x*x-2设int x = 1,y = 3;且a = P(2+x);b = P(y);则a的值为;b的值为。
4、若int x = 4,y = 6,z = 0;有循环while(x = y) {z ++;y--;}则循环语句执行完后,z值为。
5、若有定义:char str1[ ]={…C‟, …h‟, …i‟, …n‟, …a‟};char str2[ ]=“China”;则数组str1的长度为;数组str2的长度为。
6、已知有定义:int a = 1,b = 2,c = 3,d = 4,m = 1,n =1,k;则语句:k = (m = a > b) && (n = c > d);运行完毕后,m的值为;n的值为;k的值为。
7、已有定义:char *p[]={“Chinese”,“France”,“America”,“Russia”};则语句printf(“%s”,p[1]);printf(“%c”, p[1][2]);printf(“%c”, *(p[3]+1));的输出结果分别为:、、。
二、判断题(每小题1分,共10分)1、标准C中,并不区分英文字符的大小写。
2、标准C中,变量可以先使用再定义。
3、若定义函数时,其返回类型为void,则调用函数时,不能将其作为一个值赋给某个变量。
4、表达式“3.6%2”符合C语言语法。
5、全局变量的作用域是整个源程序文件。
6、数组名可以作为参数进行传递。
2008级计算机程序设计基础试题参考答案(A卷)一.写出下列语句、表达式、程序的运行结果(每空2分,共24分)1.1
2.1, 2
3.4
4.6,7 5.0
6.9 7.3.5 8.19
9.-1 10. 6,9
二.下列各程序中每个程序各有2个错误,指出错误语句,并将正确语句写在旁边(每小题4分,共20分)
1.文件开头加<math.h>
float c;写在a=2; b=3;之前
2.scanf (“ %f ”,a); 改成scanf(“ %f ”,&a);
b=3/4*(a-12); 改成b=3.0/4*(a-12);
3.在子函数f中:
加语句if(m= =0) a=1;
和语句return(a);
4.变量定义中加语句int sum=0;
for(i=1;i<=3;i++) 改为for(i=0;i<3;i++)
5. 将语句y=2x; 改为y=2*x;
在语句 y=2x;之前加 {
在语句printf(“%d”,y); 之后加 }
三.简答题(每小题6分,共18分)
1.while循环是首先判断循环条件是否成立,若成立则执行循环,若不成立循环则一次也不执行;do-while循环是先执行循环,再判断循环条件是否
满足,若满足则继续执行循环,若不满足则终止循环的运行。
在do-while
循环中,循环体至少要执行一次。
2.break语句是当break语句前的判断条件成立时,立即结束循环,跳出循环体,不再进行条件判断;continue语句是当continue语句前的判断条
件成立时,结束本次循环,跳过本次循环体下面尚未执行的语句,接着“增”
或“减”循环控制变量,再继续判断条件是否满足。
3.*(p++)是先取*p的值,后使p加1,对本例即先得到a[0]的值,然后p 指针指向a[1];*(++p)使先使p加1,后取*p的值,对本例即p指针指
向a[1],再得到a[1]的值。
四.下列各程序中,有若干条语句未被写出。
试根据题义补全程序(每小题6分,共18分)
1.i<x ; return(z); (f(i)= =0)
2.num=0; (a%b==0) (a= =sum)
3. scanf(“%d”,&num); b=num/100%10; new=1000*d+100*c+10*b+a;
五.阅读下列程序,写出运行结果(每小题6分,共12分)
1. main i=1 j=2 k=2
sub i=1 j=2 k=1 x=2 sub i=1 j=2 k=1 x=3
2.4,0
4,7,2,5,6,1,h,good
六.程序设计框架题(本题8分)
要点:(1)能说明各个子模块的设计思想及相互关系。
(2)能对不存在的查询情况进行有针对性的说明语句。
(3)能定义足够多的数据容量
(4)最好能根据用户级别设定相关的访问权限。