2009年电子C语言试卷(A)
计算机语言B(C语言)2009春季学期A卷及参考答案

一、选择题(每小题1分,共30分)1. C语言中允许的基本数据类型包括【】。
A.整型、实型、逻辑型 B.整型、实型、字符型C.整型、字符型、逻辑型 D.整型、实型、逻辑型、字符型2.语句printf("%d",(a=4)&&(b=-4));的输出结果是【】。
A.无输出B.结果不确定C.-1 D.13.以下程序的输出结果是【】。
main(){ int x=10,y=3;printf("%d\n",y=x%y);}A.0 B.1 C.3 D.不确定4.以下程序的输出结果是【】。
#include <stdio.h>main(){ int i=010,j=10;printf("%d,%d\n",j--,++i);}A.11,10 B.9,10 C.010,9 D.10,9 5.若有以下语句:char c1='b',c2='d';printf("%d,%c\n",c2-c1,c2-'a'+'A')则输出结果是【】。
A.2,D B.3,E C.2,d D.3,D6.以下程序的输出结果是【】。
main(){ int i=1,j=1,k=2;if((k++||j++)&&i++)printf("%d,%d,%d\n",i,j,k);}A.1,1,2 B.2,2,2 C.2,1,3 D.2,2,3 7.以下程序的输出结果是【】。
main(){ int i;for(i=0;i<3;i++)switch(i){ case 1:printf("%d",i);case 2:printf("%d",i); break;default:printf("%d",i);}}A.011122 B.012 C.0112 D.1208.以下程序的输出结果是【】。
2009-2010(2)C语言现科A卷

2009 – 2010 学年第 2 学期现科一、单选题。
(共30分)1.有程序段:int x, y;scanf(“%d , %d”,&x , &y);printf(“%d” , (x , y));若输入3 ,5,则printf语句()。
A、输出5B、输出3C、输出3,5D、编译出错2. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是()。
A、地址传递B、单向值传递C、由实参传给形参,再由形参传回实参D、由用户指定传递方式3.若x为float型变量,则以下语句()x=213.82631;printf(“%4.2f\n”,x);A、输出格式描述符的域宽不够,不能输出B、输出为213.83C、输出为213.82D、输出为-213.824. 下列说法中错误的是()。
A、一个数组只允许存储同种类型的变量B、如果对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值。
C、数组的名称其实是数组在内存中的首地址D、当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改5. 变量的指针,其含义是指该变量的()A、值B、地址C、名D、一个标志6. 以下不正确的说法是()。
A、在不同函数中可以使用相同名字的变量B、形式参数是局部变量C、在函数内定义的变量只在本函数范围内有效D、在函数内定义的变量在本函数和main函数内都有效7. 已知int i,j,k;scanf(“%d%d%d”,&i,&j,&k); ,若从键盘输入i、j、k的值分别为1、2、3时,则错误的输入方式为()A、1,2,3B、1(回车)2(回车)3(回车)C、1 空格2空格3(回车)D、1(回车)2 空格3(回车)8. 一个C程序的执行是从()A、main函数开始,直到main函数结束B、第一个函数开始,直到最后一个函数结束C、第一个语句开始,直到最后一个语句结束D、main函数开始,直到最后一个函数结束9. 给出如下定义:char str1[ ]=”Hello”; char str2[ ]={…H‟,‟e‟,‟l‟,‟l‟,‟o‟};则正确的叙述为()A、数组str1和数组str2等价B、数组str1和数组str2的长度相同C、数组str1的长度大于数组str2的长度D、数组str1长度小于数组str2的长度10. 有变量定义int x=0,y=0; 则执行以下语句后y的值是()。
C语言程序设计(B)期末考试A卷-试卷

北京理工大学珠海学院2009 ~ 2010学年第二学期《C语言程序设计(B)》期末试卷(A)适用年级专业:2009级机械电子工程、车辆工程、机械与自动化试卷说明:闭卷,考试时间120分钟注意:请将答案填写在答题纸上一、选择题(每题1分,共20分)1. C语言程序的执行,总是起始于_____。
A.程序中的第一条可执行语句B.main函数C.程序中的第一个函数D.包含文件中的第一个函数2. C 语言程序中可以对程序进行注释,注释部分必须用符号_____括起来。
A.‘{‘ 和’}’B.‘[‘和’]’C.“/*”和”*/”D.“*/”和”/*”3. 以下不能定义为用户标识符是。
A. MainB. _0C. _intD.sizeof4. 在C语言中,字符型数据在内存中以形式存放。
A.原码B.BCD码C.反码D.ASCII码5. 下列运算符中,要求运算对象必须是整数的是。
A. /B.*C. %D.!6. 多重if_else语句嵌套使用时,寻找与else配套的if方法是。
A. 上面最近的的ifB. 其上最近的没有其他else配对的ifC. 下面最近的ifD. 同行上的if7. 下述表达式中,可以正确表示x≤0或x≥1的关系。
A.(x>=1) | | (x<=0)B.x>=1 | x<=0C.x>=1 && x<=0D.(x>=1) && (x<=0)8. 有以下程序void main(){ char a='a',b;printf("%c,",++a);printf("%c\n",b=a++);}后的输出结果是A. b,bB. b,cC. a,bD. a,c9. 逗号表达式(a=3*5,a*4),a+15的值是。
A.15B.60C.30D.不确定10. 有如下程序void main(){ int i,sum;for(i=1;i<=3;sum++)sum+=i;printf(“%d\n”,sum);}该程序的执行结果是。
2009年C语言期末考试题(A卷)及答案

~ 4 ~
7. 下列程序的输出结果是 16.00,请填空_____________。 main() { int a=9, b=2; float x=【 】, y=1.1,z; z=a/2+b*x/y+1/2; printf("%5.2f\n", z ); } 8. 语句:x++; ++x; x=x+1; x=l+x; 执行后都使变量 x 中的值增加 1,请写出一条同一功能的 赋值语句(不得与列举的相同,也不得使用任何其它变量)_____________。 9. 若有定义:int w[10]={23,54,10,33,47,98,72,80,61}, *p=w;,在不移动指针 p 条件下,通过 指针 p 引用值为 98 的数组元素的表达式是 _____________。 10. 下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为 bi.dat 的新文 件中。请填空_________。 #include "stdio.h" FILE *fp; { char ch; if( (fp=fopen【 】)== NULL) while( (ch=getchar( )) !='@') fputc (ch,fp); fclose(fp); } exit(0);
)
~ 1 ~
8. 设有以下程序段: int a=5; while (a=0) a--; 则下面描述正确的是: ( ) A)执行 5 次循环体语句 B)本循环是死循环 C)一次也不执行循环体语句 D)执行一次循环体语句 9. 若以下选项中的变量已正确定义,则正确的赋值语句是( A)x1=26.8%3 B)1+2=x2 C)x3=0x12 D)x4=1+2=3; 10. 设有以下定义 int a=0; double b=1.25; char c=’A’; #define d 2 则下面语句中错误的是( ) A)a++; B)b++ C)c++; D)d++; 11. 设有定义: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) 12. 有以下程序 main( ) { char k; int i; for(i=1;i<3;i++) { scanf(“%c”,&k); switch(k) { case ‘0’: printf(“another\n”); case ‘1’: printf(“number\n”); } } } 程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是( A) another B)another C)another D)number number number number number another number 13. 在调用 fopen 函数时,不需要的信息是( ) A)需要打开的文件名称 B)指定的文件指针 C)文件的使用方式 D)文件的大小 ) )
吉林大学珠海学院-C语言试卷 A卷

2009 年春季学期专业C语言程序设计期末试卷A卷卷面总分:100分答题时间:120分钟专业年级班级姓名学号一、单项选择题本题共30 个小题;每小题1分;共30分;请将答案代号填涂到机读卡上;在试卷上所写答案;视为0分1、以下叙述中错误的是 ..A C语言运算功能丰富BC语言可以不用编译就能被计算机识别执行C C语言允许直接访问物理地址;直接对硬件进行操作D C语言属于结构化的程序设计语言2、在C语言中;整型常量的表示方法不包括 ..A 二进制B 八进制C 十进制D 十六进制3、以下选项中不属于C语言的关键字的是 ..A typedefB structC intD CHAR4、源程序要正确地运行;必须要有什么函数A printf函数B 自定义的函数C main函数D 不需要函数5、这段程序中的变量是include<stdio.h>define PI 3.14void main{int sum;sum = 10 + 15;printf"sum=%d\n";sum;printf"result is 25\n";}A 10B sumC 15D PI6、算法具有五个特性;以下选项中不属于算法特性的是 ..A有穷性 B简洁性C可行性 D确定性7、字符型常量在内存中存放的是 ..AASCII码 BBCD码C内部码 D十进制码8、下面哪个表达式的值为4 ..A11/3 B11.0/3Cfloat11/3 Dint11.0/3+0.59、假设变量a和b已经定义为整型;指出下面错误的表达式 ..A a=a++B 5.6+6.2%3.1C 1&&2D a=1;b=210、该源程序执行后;输出结果是 ..include<stdio.h>void main{int a;float b;a=4;b=9.5;printf"a=%d;b=%4.2f\n";a;b;}A a=%d;b=%f\nB a=%d;b=%fC a=4;b=9.50D a=4;b=9.511、以下的for循环是 ..forx=0;y=0;y=123&&x<4;x++;A 无限循环B 循环次数不定C 执行4次D 执行3次12、从以下给出的表达式中选出与whileE语句中的E不能等价的表达式A E==0B E>0 || E<0C E=0D E==013、C语言中;逻辑“真”等价于 ..A大于零的数 B不大于零的整数C非零的数 D非零的整数14、以下程序的输出结果是 ..include<stdio.h>main{ int num=0;whilenum<=2{ num++;printf“%2d\n”;num;}}A1 B1 2C1 2 3 D1 2 3 415、下列变量名中合法的是 ..AB.C.Tom B3a6bC_6a7b D$ABC16、设有定义语句int c43;;则以下对数组元素的引用形式中正确的是 ..A c2+11-1B c2;3C c43D c2+1;217、若有定义语句double x22={0.0};则以下叙述正确的是 ..A 该语句存在语法错误B 该语句使二维数组x的所有元素初值都为0.0C 该语句只为数组元素x00赋初值为0.0D 该语句为数组元素x22赋初值为0.018、以下选项中;不是C语言合法字符串常量的是 ..A “\121”B ‘y=’C “\n\n”D “ABCD\x6d”19、函数strcmp“abc”;“x”的返回值是 ..A小于0 B等于0C大于0 D不确定20、下列函数定义中正确的是 ..A float calfloat x;float y{returnxy;}B float calfloat x;y{returnxy;}C int calx;y{float x;y;returnxy;}D int calx;yfloat x;y;{returnxy;}21、在函数的说明和定义时若没有指出函数的类型;则 ..A系统自动地认为函数的类型为整型B系统自动地认为函数的类型为字符型C系统自动地认为函数的类型为实型D编译时会出错22、在int a ={1;2;3;4}中;数组元素a2的值是 ..A 1B 2C 3D 423、在下面程序中;属于全局变量的是include<stdio.h>struct student{int num;char name;char sex;float score;}stu2;stu1={1002;"Liu Qing";'M';82.5};main{ int n;float s;stu2=stu1;n=stu1.num;s=stu2.score;printf"Number=%d\nName=%s\n";n;;printf"Sex=%c\nScore=%f\n";stu2.sex;s;}Astudent Bstu2Cn Ds24、下面程序的输出结果是 ..include <stdio.h>sub2int n{return n+1;}sub1int n{ int i;a=0;for i=n; i>0; i--a+=sub2i;return a ;}main{ int n=3;printf "%d\n";sub1n;}A 5B 7C 8D 925、设有定义:int a;pa=&a;以下scanf语句中能正确为变量a读入数据的是 ..Ascanf“%d”;pa; Bscanf“%d”;a;Cscanf“%d”;&pa; Dscanf“%d”;pa;26、下面程序中;哪个变量的值保存在cpu的寄存器里 ..include <stdio.h>int n=1000;main{ static int sum=0;register int i;for i=1; i<=n; i++sum+=i;printf"sum=%ld\n ";sum;}A nB sumC iD 这段程序中没有寄存器变量27、若有两个基本类型相同的指针p1;p2;则下列运算不合理的是 ..Ap1+p2 Bp1-p2Cp1=p2 Dp1==p228、为字符数组赋值;下列方法中错误的是 ..Achar str5=”ok”;B char str5;getsstr;C char str5;scanf“%s”;str;D char str5;str=”ok”;29、下面哪个是正确的引用结构体变量成员struct student{ int num;char name;} stu1;p;p=&stu1;Astu1->.num Bstu1.numCstudent.num D p->num30、下面程序的输出结果是 ..include <stdio.h>main{ printf"%d\n"; NULL; }A 0 B1C-1 DNULL没定义;出错二﹑判断题本大题共 10 小题;每小题 2 分;共 20 分;请将“正确”用“A”表示;“错误”用“B”表示;填涂到机读卡上;在试卷上所写答案;视为0分1 C语言属于高级语言..2 关键字INT可以用来定义整型变量..3 若有char x;则 sizeofx和sizeofchar两种描述中;二者都正确..4 数组元素作为函数的参数进行地址传递..5 在C语言中;076是一个十进制整数..6 结构体可以嵌套定义..7 do-while循环的特点是:先判断循环条件;再执行循环体语句..8 主函数中定义的变量比较特殊;属于全局变量;在整个程序中都是有效的..9 用C语言编程时;变量可以不定义;直接使用..10 定义结构体类型;说明了该类结构体数据的组织形式;在编译程序时系统会给结构体类型分配空间..三﹑填空题本大题共 4 小题;每小题 4 分;共 16 分;请将答案填写到下面表格内;不得修改原题和原程序;修改者视为0分;未将答案填写在表格内;视为0分1、C语言规定;标识符只能由___①___﹑___②___﹑___③___3种字符组成;而且;第一个字符不能是___④___..2、结构化程序设计的三种基本结构是___①___结构﹑___②___结构和___③___结构;能够实现选择结构的语句有___④___语句和switch语句..3、在C语言中;实现循环的语句有:if-goto语句﹑while语句﹑___①___语句和___②___语句;break语句在循环控制中用于结束___③___﹑continue语句在循环控制中用于结束___④___..4、下面程序的功能是:用冒泡排序法将5个数字从小到大排列;请填空:___①___ <stdio.h>define N 5main{ int aN;int i;j;t;exchange;printf"Input %d numbers:\n";N;for i=0; i<N; i++scanf"___②___";&ai;for j=1; j<=N-1; j++ /控制比较的趟数 /{ exchange=0;for i=0; i<N-j; i++ /两两比较的次数 /if ai>ai+1{ t=ai;ai= ___③___;ai+1= ___④___;exchange=1; }if exchange==0break;}printf"The sorted numbers: \n";for i=0; i<N; i++printf"%4d";ai;}四﹑读程序写结果本大题共 5 小题;每小题 2 分;共 10 分;请将答案填写到下面表格内;未填写在表格内;视为0main{ int a=10;y=0;do{ a+=2;y+=a;printf“a=%d y=%d\n”; a;y;ify>20 break;} whilea=14;}①__________②__________2、写出该程序运行结果include <stdio.h>main{ void incrementvoid;increment;increment;}void incrementvoid{ static int x;x++;printf“%d\n”;x;}①__________②__________3、写出该程序运行结果include “stdio.h”int ageint n{ int c;if n==1 c=10;else c=agen-1+2;returnc ;}main{printf“%d”;age4;printf“%d”;age5;}①__________②__________main{int point1;point2;point;int a=1;b=2;point1=&a;point2=&b;point=point1;point1=point2;point2=point;printf“%d;%d\n”;a;b;printf“%d;%d”;point1;point2;}①__________②__________5、写出该程序运行结果include <stdio.h>main{ struct info{ char name20;int year;month;}person_1;strcpyperson_;"Liu De Hua";person_1.year=1961;person_1.month=9;printf"\nName:%s"; person_;printf"\nBirthday:%d.%d ";person_1.year; person_1.month;}①__________②__________五﹑程序设计本大题共 4 小题;每小题6 分;共24分1、输入整数x;根据x的值来确定y的值;若x>0;那么y=x;否则y=-x..2、编写程序;求10的阶乘 10=1×2×3×……×10 ..3、数组int a5={78;69;93;82;75};保存的是一个学生五门课的成绩;求其总分和平均分..4、编写函数;求表达式x2-5x+4的值;x由主函数输入..2009年春季学期C 语言程序设计试题A 卷 答案二、判断题本大题共 10 小题;每小题2分;共20分三、填空题本大题共 4 小题;每小4分;共16分灰色底纹部分顺序任意五、程序设计本大题共 4 小题;每小题 6 分;共 24 分 酌情按步骤给分1、include <stdio.h> main { int x;y;printf “please input x:”; scanf “%d ”;&x; if x>0 y=x;else y= - x;printf “y=%d\n ”;y; }2、include <stdio.h> main{ int i;p=1;for i=1; i<=10; i++ p=i;printf"p=%d\n";p; }3、include <stdio.h> main{ int i; sum=0;a5={78;69;93;82;75}; float ave;fori=0; i<5;i++ sum+=ai; ave=sum/5.0;printf “sum=%4d\n ”;sum; printf “ave=%5.1f ”;ave; }4、include <stdio.h> int funint x{ return xx-5x+4; } main {int x;。
C语言程序设计考前复习资料

二级C语言笔试试卷(2009第一次)(共100分)注意事项:1.一、二题为客观题,请将答案涂在机读答题卡上2. 三、四、五、六题为主观题,请将答案做在答题纸上一.单项选择题。
(每小题1分,共20分)1.一个C程序的执行是从( A )。
(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束2.设x、y和z是int型变量,且x = 3,y = 4,z = 5,则下面表达式中值为0的是( D )。
(A) x && y; (B) x <= y;(C) x || y + z && y – z ; (D) !((x<y)&& ! z || 1);3.以下有关宏替换的叙述不正确的是( D )。
(A)宏替换不占用运行时间 (B)宏名无类型(C)宏替换只是字符串替换; (D)宏替换是在运行时进行的4.已知函数的调用形式: fread ( buffer , size , count , fp ) ; 其中buffer代表的是( C )。
(A)一个整型变量,代表要读入的数据项总数(B)一个文件指针,指向要读的文件(C)一个指针,指向要读入数据的存放地址(D)一个存储区, 存放要读的数据项5. 在位运算中,操作数每左移一位,其结果相当于 ( A )。
(A)操作数乘以2 (B)操作数除以2(C)操作数除以4 (D)操作数乘以46.数字字符0的ASCII值为48,若有以下程序#include<stdio.h>void main(){char a='1',b='2';printf("%c,",b++);printf("%d\n",b-a);}程序运行后的输出结果是( C )。
2009年04月全国计算机等级考试二级C语言真题

2009年04月全国计算机等级考试二级C语言真题2009年3月二级C语言笔试真题((1)—(10)每小题2分,(11)—(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A)栈是“先进先出”的线性表B)队列是“先进先出”的线性表C)循环队列是非线性结构D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是A)栈 B)树 C)队列 D)二叉树(3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是A)10 B)8 C)6 D)4(4)下列排序方法中,最坏情况下比较次数最少的是A)冒泡排序B)简单选择排序C)直接插入排序D)堆排序(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是A)编译软件B)操作系统C)教务管理系统D)汇编程序(6)下面叙述中错误的是A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。
下列叙述中正确的是A)提高耦合性降低内聚性有利于提高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是C)12,3.141593D)123.141593(16)若有定义语句:double x,y,*px,*py,执行了px=&x, py=&y;之后,正确的输入语句是A)scanf(“%f%f”,x,y);B) scanf(“%f%f”,&x,&y);C) scanf(“%lf%le”,px,py);D) scanf(“%lf%lf”,x,y);(17)以下是if语句的基本形式:if (表达式)语句其中“表达式”A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式(18)有以下程序#include <stdio.h>main(){int x;scanf(“%d”,&x);if(x<=3); elseif(x!=10)printf(“%d\n”,x);}程序运行时,输入的值在哪个范围才会有输出结果A)不等于10的整数B)大于3且不等于10的整数C)大于3或等于10的整数D)小于3的整数(19)有以下程序#include<stdio.h>Main(){int a=1,b=2,c=3,d=0;if(a= =1 &&b++= =2)if(b!=2 || c--!=3)printf(“%d,%d,%d\n”,a,b,c);else printf(“%d,%d,%d\n”,a,b,c);else printf(“%d,%d,%d\n”,a,b,c);}程序运行后的输出结果是A)1,2,3B)1,3,2C)1,3,3D)3,2,1(20)以下程序中的变量已正确定义for(i=0;i<4;i++,i++for(k=1;k<3;k++);printf(*”);程序段的输出结果是A)********B)****C)**D)*(21)有以下程序#include<stdio.h>main(){char*s=(“ABC);do{printf(“%d”,*s%10);s++;}while(*s);}注意,字母A的ASCII码值为65。
2009级C语言程序设计试卷_A(带答案,自动化2009级)

天津工业大学200 9 ~201 0 学年第 1 学期高级语言程序设计(C语言)试卷(A)学院班级学号姓名注意事项:1、本试卷共11 页,满分为100 分,考试时间为110 分钟。
2、标准答题卡使用2B铅笔涂写;文字题答题时请使用蓝、黑钢笔或圆珠笔,不得使用红颜色墨水笔。
一、单项选择题:(每题 1 分,共40 分)(说明:请将正确答案按照题干上【】内的序号涂写“标准答题卡”)1.以下标识符中,不能够作为变量名使用的是【1】。
A) float B) _123C) Sum D) X_Y12.一个C语言程序的执行是【2】。
A) 从第一个函数开始,到最后一个函数结束B) 从main()函数开始,到最后一个函数结束C) 从main()函数开始,到main()函数结束D) 从第一语句开始,到最后一个语句结束3.表达式sizeof(float)的值是【3】。
A) 1 B) 2 C) 4 D) 84.在C语言中,数值常量0x9f对应十进制值是【4】。
A) 160 B) 87C) 9f D) 1595.在C语言中,运算对象必须是整型数据的运算符是【5】。
A) / B) % C) && D) <=6.数学表达式x≥y≥z,改写为C语言表达式后,正确的写法是【6】。
A) x>=y>=z B) (x>=y) && (y>=z)C) (x>=y) & (y>=z) D) (x>=y) AND (y>=z)7.已知int x=6; 执行语句x+=x-=x*x; 后,变量x的值是【7】。
A) -60 B) -24 C) 36 D) 608.若int x=4,y=2;则表达式x<y?x++:y++的值是【8】。
A) 2 B) 3 C) 4 D) 59.若有定义语句char ch='\072'; 则变量ch 【9】。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
海南大学2009-2010学年度第1学期试卷科目:《C语言程序设计》试题(A卷)姓名:学号:学院:信息科学技术学院专业班级: 2009 信安成绩登记表(由阅卷教师用红色笔填写)大题号一二三四五六七八九十总分得分阅卷教师: 20 年月日考试说明:本课程为闭卷考试。
一、单选题(每小题1分,共20分。
选择正确答案的编号,写在各题的括号内。
)1.C语言程序的基本单位是()。
A)程序行 B)语句 C)函数 D)字符2.C语言程序的三种基本结构是()。
A)顺序结构,选择结构,循环结构 B)递归结构,循环结构,转移结构C)嵌套结构,递归结构,顺序结构 D)循环结构,转移结构,顺序结构3. C语言中最简单的数据类型包括()。
A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、字符型、逻辑型 D)整型、实型、逻辑型、字符型4. 表达式:10!=9的值是()。
A)true B)非零值 C)0 D)15. 表示关系x<=y<=z的c语言表达式为()。
A)(X<=Y)&&(Y<=Z) B)(X<=Y)AND(Y<=Z) C)(X<=Y<=Z) D)(X<=Y)&(Y<=Z)6. 若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为()。
A)1.4 B)1 C)2.0 D)2得分阅卷教师7. C语言中 while 和do-while循环的主要区别是()。
A)do-while的循环体至少无条件执行一次B)while的循环控制条件比do-while的循环控制条件更严格C)do-while允许从外部转到循环体内D)do-while 的循环体不能是复合语句8. 下列标识符中不合法的是()。
A)s_name B)_e C)fox D)3DS9. 为了判断两个字符串s1和s2是否相等,应当使用()。
A)if (s1= =s2) B)if (s1=s2)C)if (strcpy(s1,s2)) D)if (strcmp(s1,s2)= =0)10.假定int类型变量占用4个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是()。
A)12 B)20 C)24 D)4011. 若有说明:int a[10];则对a数组元素的正确引用是()。
A)a[10] B)a[3,5] C)a(5) D)a[10-10]12. 设有数组定义: char array [ ]="China"; 则数组 array所占的空间为()。
A)4个字节 B)5个字节 C)6个字节 D)7个字节13. 下列对C语言字符数组的描述中错误的是()。
A)字符数组的下标从0开始B)字符数组中的字符串可以进行整体输入/输出C)可以在赋值语句中通过赋值运算符"="对字符数组整体赋值D)字符数组可以存放字符串14. 在C语言中,若对函数类型未加明显式说明,则函数的隐含类型是()。
A)void B)double C)int D)char15. 函数调用结束后,其值还须保留的局部变量可用()来声明。
A)auto B)static C)extern D)register16. 要想在被调函数中改变主调函数中数组的值,实参和形参设置正确的是()。
A)形参和实参都只能用数组名B)形参和实参都只能用指针变量C)形参和实参既可以用数组名,也可以用指针变量D)形参和实参只能用一般的变量17. 在以下定义中,标识符p的定义:int (*p)[3],()。
A)定义不合法B)是一个指针数组名,每个元素是一个指向整数变量的指针C)是一个指针,它指向一个具有三个元素的一维数组D)是一个指向整型变量的指针18. 若有以下定义和语句: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是( )。
A) *p B) a[10] C) *a D) a[p-a]19. 下面字符指针变量和字符数组使用错误的是()。
A)char str[10]=”Hello,C!”; B)char *p=”Hello,C!”;C)char *p;p=”Hello,C!”; D)char str[10];str=”Hello,C!”;20. 关于结构体,正确的说法是()。
A)结构体各成员共用一个存储空间B)结构体是由不同类型的数据组合成的有机整体,是一种构造类型C)结构体变量可以作为一个整体进行输入和输出D)指针可以指向数组,但不能指向结构体二、填空题(每小题2分,共20分。
在各小题中有得分阅卷教师下划线处填上正确答案。
)1. 在VC6.0中设计程序,一般要经过的四个步骤是编辑、__________、连接和运行。
2. 命题:a和b都不小于c,用C语言表达式描述为:____________________。
3. break语句和continue语句的区别是:________________________________________。
4. 定义了一个整型二维数组:int a[3][4];,则该数组的最后一个元素表示为:__________。
5. 有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是:______________________________。
6. 一个完整的C程序至少要有一个__________函数。
7. 在主调函数中调用一个函数时,函数名后面括号中的参数称为:__________参数。
8. 从变量值存在的时间角度来分,包括__________存储方式和__________存储方式。
9. 指针变量必须定义为“指针类型”,它是用来存放__________的。
10. 函数的使用一般经过三个环节:定义、原型声明和__________。
得分阅卷教师三、阅读程序,写出运行结果(每小题5分,共10分)1.写出以下程序的运行结果。
#include<stdio.h>void main(){int a[2][3]={{1,2,3},{4,5,6}};int b[3][2],i,j;for(i=0;i<2;i++)for(j=0;j<3;j++)b[j][i]=a[i][j];for(i=0;i<3;i++)for(j=0;j<2;j++)printf(“%3d”,b[i][j]);}______________________________2.写出以下程序的运行结果。
#include<stdio.h>void main(){int i=1,m=0;while(i<=10){m+=i+1;i+=2;}printf("i=%d,m=%d\n",i,m);}______________________________四、修改程序(每一项2分,共10分)得分阅卷教师1.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
在程序中找出2处错误,并在错误处改正。
#include "stdio.h"void main(){char c;int letters=0,space=0,digit=0,others=0;printf("please input some characters\n");while((c=getchar())!='\n'){if('a'<=c<='z'|| 'A'<=c<='Z') letters++;else if(c=' ') space++;else if(c>='0'&&c<='9') digit++;else others++;}printf("char=%d space=%d digit=%d others=%d\n",letters,space,digit,others);}2.输入3个整数,按大小顺序输出。
在程序中找出3处错误,并在错误处改正。
#include <stdio.h>void main(){int n1,n2,n3;int *p1,*p2,*p3;printf("please input 3 number:n1,n2,n3:");scanf("%d,%d,%d",&n1,&n2,&n3);p1=&n1; p2=&n2; p3=&n3;if(n1>n2) swap(p1,p2); if(n1>n3) swap(p1,p3); if(n2>n3) swap(p2,p3);printf("the sorted numbers are:%d,%d,%d\n",n1,n2,n3);}void swap(*p1, *p2){int p;p=p1;p1=p2;p2=p;}1. 使用指针方法,输出数组元素。
#include <stdio.h>void main(){int a[10];int *p,i;for(i=0;__________;i++)scanf("%d",__________);printf("\n");for(__________;__________;p++)printf("%d ",__________);printf("\n");}2.用选择法对10个整数从小到大排序。
#include <stdio.h>void main(){int a[]={3,7,9,11,0,6,8,5,4,2};int i,j,min,temp;for(i=0;__________;i++){__________;for(__________;__________;j++)if(a[min]>a[j])__________;temp=a[i];a[i]=a[min];a[min]=temp;}printf("the sorted numbers:\n");for(i=0;i<10;i++)printf("%5d",a[i]);printf("\n");}1. 一、利用循环打印出九九表。