2011级C语言期中测试试题(大学城AB组-参考答案)
C语言程序设计期中试卷

C语言程序设计期中试卷C 语言程序设计期中试卷一、填空题(本大题30空,每空1分共30分)1、C 语言中的基本数据类型包括、、三种。
2、C 语言中的逻辑运算符有、、三种。
3、若a =4,b =5,则! a & &b 的值为,b&&03的值为。
4、设a =10,则表达式a +=a -=2*3的值为。
5、设i =5,执行z =-i --后,z 的值为,i 的值为。
6、定义一个4行5列的整型数组VB 的方法。
7、定义int num[]={1,2,3,4,5},*p =&num[1],则表达式*p+3的值为, *(p+3)的值为。
8、设char str[10]="China",strlen(str)的值为。
9、逗号表达式a =b =3,6*a 的值为。
10、将算术表达式31лR2·h 书写为C 语言表达式。
11、用宏TB 来定义3.14 。
12、循环for (i=2;i<=12;i =i+2)结束后,i 的值为。
13、数组char b[15]表示它有个字符元素。
14、在C 语言中没有专为存储字符串的变量,但可以用字符型数组或存储字符串。
15、C 语言文件存储在磁盘上有两种形式,一种是按存储,另一种是按存储。
16、在C 语言中,变量的存储类别有四种,它们分别是自动变量、外部变量、和寄存器变量,其中自动变量又称为。
17、若有int a=10,b=5;则c=++a -b --;的值为。
18、定义一个数组int b[14],则b 数组一共有个元素,数组的最后一个元素是。
19、若有int a[10],*p ;p=&a[2];则后面语句使用*p 时是在引用。
20、表达式2sin30°的C语言表达式为。
二、选择题(本大题共20小题,每题2分,共40分)1、设i=6,则执行j=i++; j=++i后,j的值为()A、7B、8C、6D、92、设x=2.5,a=4,y=7,则表达式x+a%3*(int)(x+y)%2/4的值为( )A 、3.5B 、4C 、2D 、2.53、下面的指数形式正确的是()A 、4.6EB 、E+4C 、1.23E-10 D、4.3E6.84、指出下列非法的赋值语句()A 、z=(a>b)?a:b;B、I=++(I+J);C、y=y*(z+1);D、unsigned z=45.67;5、设x=4, y=5, z=2, 则表达式(x< p="">A 、0 B、1 C 、4 D 、56、下列正确的语句是()A 、int * p; p=&(a+b);B 、y : =(a<="" p="">C、for(i=0 , i<=5,i++);D、int a,b=3;7、初始化字符数组char str[ ]=“A book”,则可确定数组的长度为()A 、6B 、7C 、8D 、98、函数strlen(“ab c\de\”)的值为( )A 、6B 、10C 、5D 、89、设i=1 ; 则循环while(i++<5)结束后,i的值为()A 、4B 、5 C、6 D 、710、初始化数组int val[3] [3]={{1},{2,3},{3}}则val[1][1]的值为()A 、1B 、2 C、3 D 、{2,3}11、在C语言程序中,main函数的位置()A.、必须作为第一个函数B、必须作为最后一个函数C、可以任意D、必须放在它所调用的函数之后12、下列不合法的常量是()A、"program"B、- e8C、0x35D、12313、C语言中的基本数据类型所占存储空间长度的大小顺序是()A、char<=int<=float<=double<=longB、int<=char<=float<=long<=doubleC、int <= long <=float<=double<= charD、char<=int<=float<=long<= double14、在C语言中,要求当a的值为奇数时,表达式的值为“真”,a的值为偶数时为“假”。
铜陵学院11级C语言程序设计试卷A

第 1 页 共 5 页铜 陵 学 院 2011-2012学年第二学期 《C 语言程序设计》考试试卷(A)(适用班级:11级工科各专业)一、单选题(每小题1分,共30分)1.下列选项中合法的变量名是( )。
A.B#123 B._1234 C.float D.xy*2.以下选项中属于C 语言的数据类型的是( )。
A.整型 B.集合型 C.逻辑型 D.复数型3.下面运算符中,具有右结合性的是( )。
A.+ B.> C.= D.&&4.字符串"a\x44\\abcd\101b"的长度是( )。
A.9 B.10 C.16 D.185.下面选项中合法的字符常量是( )。
A."a"B.′\t ′C. "\n"D. ′\80′ 6.设有int a=9;则表达式(++a*2/3)的值是( )。
A.6 B.7 C.6.6 D. 07.已知int i ;float d ;,则以下选项中正确的表达式是( )。
A.(int d) B.int(d)%i C.int(d%i) D.(int)d%i 8.若有char c ;,则能正确判断出c 为大写字母的表达式是( )。
A. ′A ′< =c< = ′Z ′ B.(c>=′A ′)||(c<=′Z ′) C.(c>=′A ′)and(c<=′Z ′) D.(c>=′A ′)&&(c<=′Z ′) 9.下列选项中合法的赋值语句是( )。
A.a=b=58 B.k=a+b C.a=58,b=58 D.--i ;10.设int 型占2个字节,若有int i=65536;,则语句printf("%d",i);输出的 结果是( )。
A.65535B.0C.有语法错误,无输出结果D.111.已知字符A 的ASCII 码为65,下面程序段的输出是( )。
C语言期中考试试题A标准答案

C语言期中考试试题A标准答案
一.选择题(每题2分,共20分)1下面不是C语言关键字的是 C A.volatile B. unsignedC. Do
D. void2. 下面不是C语言合法标识符的是 B A.fine5 B. &iC._score D. flag3. C语言规定,简单变量做实参时,它和对应形参之间的数据传达方式是
A .A. 单向值传递 B. 地址传递.C.由实参传给形参再有形参传回给实参. D.由用户指定传递方式.4若用数组名作为函数调用的实参传递给形参的是 D . A.数组元素的个数. B.数组第一个元素的值. C.数组中全部元素的值. D. 数组的首地址.5.下面正确的定义语句是DA.int
a[1][4]={1,2,3,4,5}; B. double y[][3]= 0;C. long
b[2][3]={{1},{1,2},{1,2,3}}; D. float
x[][3]={{1},{2},{3}}; 6.C语言规定,函数返回值的类型是由 A .A. 在定义该函数时所指定的函数类型所决定. B.调用该函数时的主调函数类型所定决.C.调用该函数是系统时决定. D. return语句中的表达式类型所决定.。
C语言期中考试题目及答案

一、选择题:【1】在C语言中,用户能使用的正确标识符是。
A) 5f B) _for C) struct D) _f.5答案: B 分析:标识符只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线;大小写敏感;不能使用关键字;最长32 个字符。
【2】以下那个是正确的C语言常量。
A) 0678 B) '\0101' C) 1.2E3.5 D) 123L答案:D【3】以下对C语言源程序有关常识正确的描述是。
A) main 函数必须位于文件的开头B) 每个语句必须单独一行C) 标识符中大小写字母没有区别D) 宏定义#define 部分不一定要放在程序的最开头位置答案:D【4】以下for 循环的执行次数是。
for(x=0,y=0;(y=123)&&(x<4);x++)A)是无限循环B)循环次数不定C)执行4次D)执行3次答案:C分析:若要判断(y=123)&&(x<4)假,因为y=123永远为真,所以只需要判断x<4为假即可。
【5】对for( 表达式1;; 表达式3) 可理解为。
A)for( 表达式1;0; 表达式3)B)for( 表达式1;1; 表达式3)C)for( 表达式1; 表达式1; 表达式3)D)for( 表达式1; 表达式3; 表达式3)答案: B【6】设有程序段int k=10;while(k=0) k=k-1;则下面描述中正确的是。
A)while循环执行10次 B )循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次答案:C分析:因为k=0 为假,所以程序不执行其后的语句。
【7】C语言中while和do-while 循环的主要区别是。
A) do-while 的循环体至少无条件执行一次B) while 的循环控制条件比do-while 的循环控制条件严格C) do-while 允许从外部转到循环体内D) do-while 的循环体不能是复合语句答案:A【8】设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>d) 后n 的值为。
大一c语言期中考试题及答案豆丁网

大一c语言期中考试题及答案豆丁网一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是正确的标识符?A. 2variableB. _variableC. 3numberD. variable2答案:B2. 下列哪个选项是C语言中的关键字?A. defineB. includeC. intD. all答案:C3. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x1.2C. 0x1.2e2D. 0x1.2p2答案:A4. 以下哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. 以上都是答案:D5. C语言中,以下哪个选项是正确的数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int a[5] = {1, 2, 3};C. int a[] = {1, 2, 3, 4, 5};D. 以上都是答案:D6. C语言中,以下哪个选项是正确的函数声明?A. int add(int x, int y);B. int add();C. int add(int, int);D. 以上都是答案:D7. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!", "Hello"D. "Hello", "World"答案:A8. C语言中,以下哪个选项是正确的指针声明?A. int *p;B. int *p[];C. int **p;D. 以上都是答案:D9. 在C语言中,以下哪个选项是正确的结构体声明?A. struct point { int x, y; };B. struct { int x, y; } point;C. struct point { int x; int y; };D. 以上都是答案:D10. C语言中,以下哪个选项是正确的枚举声明?A. enum color { red, green, blue };B. enum { red, green, blue };C. enum color { red = 1, green = 2, blue = 3 };D. 以上都是答案:D二、填空题(每题2分,共20分)11. 在C语言中,一个整型变量占用的字节数是______。
C语言期中考试试题及答案

高级语言程序设计试题答案在最后一、单项选择题(本大题共20小题,每小题2分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
1.C语言程序编译时,程序中的注释部分是()A.参加编译,并会出现在目标程序中B.参加编译,但不会出现在目标程序中C.不参加编译,但会出现在目标程序中D.不参加编译,也不会出现在目标程序中2.设int a=3;则表达式a<1&&--a>1的运算结果和a的值分别是()3 C3.与语句if(a>b)if(c>d)x=1;else x=2;等价的是()A.if(a>b){if(c>d)x=1;else x=2;}B.if(a>b){if(c>d)x=1;}else x=2;C.if((a>b)&&(c>d))x=1;else x=2;D.if(a<=b)x=2;else if(c>d) x=1;4.设char x='a';则printf("x=%c,y=%c\n",x,97);的输出是()A.x=a,y=97B.x=97,y=aC.x=97,y=97D.x=a,y=a5.执行下列程序int a[3][3]={{1},{2},{3}};int b[3][3]={1,2,3};main(){printf("%d\n”,a[1][0]+b[0][0]);}后输出的结果是()A.0B.1 C( )A) 输入、处理、输出B) 树形、网形、环形C) 顺序、选择、循环D) 主程序、子程序、函数7.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( )A.连接、编译B.编译、连接8.下列各语句中,能够且仅输出整型变量a、b中最大值的是( )A. if(a>b) printf(″%d\n″,a);printf(″%d\n″,b);B. printf(″%d\n″,b);if(a>b) printf(″%d\n″,a);C. if(a>b) printf(″%d\n″,a);else printf(″%d\n″,b);D. if(a<b) printf(″%d\n″,a);printf(″%d\n″,b);9.执行语句“for(s=0,i=1;i<=10;i=i+3) s+=i;”后,变量s、i的当前值是( )A. 22,13B. 12,10C. 22,10D. 12,1310.下列各语句定义了数组,其中一个不正确的是( )A. static int a[5],b[2][3];B. char no[30],rec[30,6];C. int x[]={2,4,6,8,10};D. int x[10]={1,2,3,4,5};二、填空题(本大题共10小题,每小题2分,共20分)11.初始化值是0.618的双精度变量a的定义形式为____________。
2011C语言程序设计习题集答案
第1~2章C语言概述、算法、数据类型、运算符与表达式一、选择题ACDbB CCDCBD二、填空题1、n=202、a=66,b=E第3章顺序程序设计一、选择题BAAD二、程序阅读1、12 240 122、2,3,2,23、0三、编程1.输入三个整数作为三角形的边,设能构成三角形,计算其面积和周长。
三角形的周长面积公式分别为:L=(a+b+c)/2; area=(s*(s-a)*(s-b)*(s-c))^(1/2).#include <stdio.h>#include <math.h>void main(){int a,b,c;floats,area;scanf("%d,%d,%d",&a,&b,&c);s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%f,b=%f,c=%f,area=%f",a,b,c,area);}2.求ax2+bx+c=0方程的根,a,b,c由键盘输入,设b2-4ac>0。
#include <stdio.h>#include <math.h>void main(){float a,b,c,del,x1,x2;scanf("%f,%f,%f",&a,&b,&c);del=b*b-4*a*c;if (del>=0){x1=(-b+sqrt(del))/(2*a);x2=(-b-sqrt(del))/(2*a);printf("x1=%f,x2=%f",x1,x2);}elseprintf("没有实根");}3.求摄氏温度26度对应的华氏温度,计算公式为:F=(9/5)C+32,式中:C表示摄氏温度,F表示华氏温度。
大一c语言期中考试题和答案豆丁网
大一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语言期中测试(含答案)
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时结束循环。
2011.6 C语言 试题A答案
- 1 - 南京理工大学紫金学院课程考试答案及评分标准 课程名称:C语言程序设计 学 分: 4 大纲编号: 9906010911 试卷编号: A卷 考试方式: 闭卷 满分分值: 100 考试时间: 120 分钟
一、单项选择题(本大题共15小题,每小题2分,共30分)
1-5. CBCBA 6-10. BBBBC 11-15.BAADA 二、填空题(本大题每空1分,共10分)
1. 设a=1,b=2,c=3,d=4,则表达式:a2. 整数123,取它的十位数的表达式为 123%100/10 。
3. 有数学表达式|x|+x-6x,写出其对应的C语言的表达式 fabs(x)+sqrt(x)-6*x 。 4. 判断两个字符串s1和s2是否相等的语句为 if(strcmp(s1,s2)= =0) 。 5. 有定义语句:int a[][3]={ {0},{1},{2} };则数组元素a[1][2]的值是 0 。 6. getchar( )函数用于输入 一个字符 , 而gets( )函数则用于输入 一串字符 。 7. 若a函数中调用了b函数,而b函数又调用了a函数,这种调用称为 递归 调用。 8. C语言允许函数值类型缺省定义,此时该函数值隐含的类型是 int 。 9. 函数调用时,若形参和实参均为数组名时,传递方式为 地址传递 。 三、程序填空(本大题每空2分,共20分) ① #include ② i③ str[i]>=‘a’ && str[i]<=‘z’ ④ scanf(“%d”,&a[i]); ⑤ i<9-j ⑥ a[i]=a[i+1] - 2 -
⑦ a[i+1]=t ⑧ average(a) ⑨ sum=sum+a[i] ⑩ return aver
四、写出下列程序的运行结果(本大题共5小题,每小题3分,共15分) 1. void main( ) { int a=5,b=1,c=0; if(a=b+c) printf(“* * *\n”); else printf(“$ $ $\n”); } 程序运行后的输出结果是 * * * 。 2. #include void main() { char ch; while((ch=getchar( ))!=‘\n’) switch (ch-‘2’) { case 0: case 1: putchar(ch+4); case 2: putchar(ch+4); break; case 3: putchar(ch+3) ; default : putchar(ch+2); break; } - 3 -