郑州轻工业08-09第一学期C语言试卷A及答案

合集下载

2008级C语言程序设计试卷_A带答案(2009.6)

2008级C语言程序设计试卷_A带答案(2009.6)

天津工业大学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语言第一学期试题及答案

c语言第一学期试题及答案

c语言第一学期试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的数据类型?A. IntegerB. RealC. StringD. Char答案:D2. 下列哪个关键字用于定义一个函数?A. FunctionB. DefineC. MethodD. int答案:D3. 以下哪个选项不是C语言中的控制语句?A. ifB. switchC. whileD. loop答案:D4. 在C语言中,哪个运算符用于取模运算?A. %B. /C. *D. -答案:A5. 以下哪个选项是C语言中正确的注释方式?A. // 这是一个注释B. /* 这是一个注释 */C. //* 这是一个注释D. /*这是一个注释答案:B6. 以下哪个选项是C语言中正确的字符串声明方式?A. char str[];B. string str;C. char str[10] = "Hello";D. all of the above答案:D7. 在C语言中,以下哪个选项是二维数组的声明方式?A. int arr[3][2];B. int arr[2][3];C. int arr[][];D. int arr[3,2];答案:A8. 下列哪个选项是C语言中正确的文件打开方式?A. fopen("file.txt", "r")B. open("file.txt", "r")C. openfile("file.txt", "r")D. createfile("file.txt", "r")答案:A9. 在C语言中,以下哪个选项是正确的指针声明方式?A. int *ptr;B. int ptr*;C. int *ptr = NULL;D. all of the above答案:D10. 下列哪个选项是C语言中正确的结构体声明方式?A. struct {int a;float b;} myStruct;B. struct myStruct {int a;float b;};C. both A and BD. none of the above答案:C二、填空题(每题3分,共15分)1. 在C语言中,用于定义一个整型变量的关键字是________。

2009-2010年第一学期《C程序设计》试卷A(08级09.11)含答案

2009-2010年第一学期《C程序设计》试卷A(08级09.11)含答案
…………………………………装………………………………………………… 订…………………………………………………线…………………………………………….
学院:
………………...….密………………………………………...……… 封…………………………………………………线………………..………………………….…
35.若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大 小(长度)是 【 】 A)2 B)3 C)4 D)无确定值 】 36.以下不正确的定义语句是 【
A)double x[5]={2.0,4.0,6.0,8.0,10.0}; B)int y[5,3]={0,1,3,5,7,9};
学院: 姓名:
学号:
年级:
……………………………...….密………………………………………...………
封…………………………………………………线………………..………………………….…
D) 在循环体内使用break语句和continue语句的作用相同 12.在C语言中,函数返回值的类型最终取决于【 A)函数定义时在函数首部所说明的函数类型 B)return语句中表达式值的类型 C)调用函数时主函数所传递的实参类型 D)函数定义时形参的类型 13.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,以下 不能将变量c中大写字母转换为对应小写字母的语句是【 】 A) c=tolower(c) /* tolower( )是将大写字母转换为小写字母的函数 */ B) c=c+32 C) c=c-‘A’+‘a’ D) c=(‘A’+c)-‘a’ 14.下面结构体的定义语句中,错误的是:【 】 A) struct student{ char name[20]; char sex; int age;}; struct student s1; B) struct student{ char name[20]; char sex; int age;} struct student s1; C) struct student{ char name[20]; char sex; int age;} s1; D) struct { char name[20]; char sex; int age;} s1; 15.设有定义: char *p; 以下选项中能够使字符型指针p正确指向一个 字符串的是:【 】 A) char str[ ]=”China”; p=str[0]; B) scanf(“%s”, p); C) p=getchar(); D) p=”string”; 16.阅读以下程序 #include <stdio.h> void main() { int case; float printF; printf(“请输入2个数:”); scanf(“%d%f”, &case, &printF); printf(“%d %f”, case, printF); } 该程序在编译时出现错误,其出错原因是:【 】 A) 定义语句出错,case是关键字,不能用作用户自定义标识符 】

c语言试卷一(含答案)

c语言试卷一(含答案)

c语言试卷一(含答案)试卷1一、选择题(共20题,每题2分,共40分)1、设有说明语句:char a= '\72abc';则变量a ( )A) 包含6个字符B) 包含5个字符 C) 包含4个字符D) 说明不合法2、在C语言中,数字029是一个()A)八进制数B)十六进制数C)十进制数D)非法数3、有如下程序main( ){ int y=3,x=3,z=1;printf("%d %d\n",(++x,y++),z+2);}运行该程序的输出结果是()A)3 4 B)4 2 C)4 3 D)3 34、有如下程序段int a=14,b=15,x;char c='A';x=(a&&b)&&(c<'B');执行该程序段后,x的值为()A)ture B)false C)0 D)15、如下程序main( ){ int x=1,a=0,b=0;switch(x){ case 0:b++;case 1:a++;case 2:a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是()A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=26、main( ){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--) printf("%d \n",i);}以上循环体的执行次数是()A)3 B)2 C)1 D)07、设有数组定义:char array [ ]="China";则数组 array所占的空间为()A)4个字节B)5个字节C)6个字节D)7个字节8、C语言的编译系统对宏命令是( )A)在程序运行时进行代换处理的B)在程序连接时进行代换处理的C)和源程序中其它C语句同时进行编译的D)在对源程序中其它成份正式编译之前进行处理的9、以下说法中正确的是()。

天津工业大学信息与通信工程学院08-09-1 C语言试卷(A卷)

天津工业大学信息与通信工程学院08-09-1 C语言试卷(A卷)

天津工业大学信息与通信工程学院08-09-1学期《C语言程序设计》期末试卷(A卷)学号班级姓名分。

请将正确的答案标号画上○)不正确的:A. 标识符可以用于定义变量的名称B. 标识符可以用于自定义函数的名称C. 关键字可以用于定义变量的类型D. 关键字也可以用于定义变量的名称2. C语句的基本类型有5种,除控制语句、函数调用语句、表达式语句、空语句外,还有一种是:A. 复合语句B. 赋值语句C. 输入语句D. 输出语句3. C语言表达式(int)2.52+2.49+1/2的值是:A. 5.51B. 5C. 4.99D. 4.494.已知a、b都是int型,则运行语句 scanf(”%d%d”,&a,&b);时,如何键入不能使a、b得到的值分别是2和3 ?A. 2 3<回车>B. 2 3<回车>C. 2<回车>3<回车>D. 2,3<回车>5. 已知x是int型且值为15,则C语言表达式0<x<10的值是:A. 1B. 0C. ”是”D. ”非”6. 语句 if(x>=’a’&&x<=’z’)x-=32;的功能是:A. 若x是字符’a’或是字符’z’,则将其转换为相应的大写字母B. 若x是小写英文字符,则将其转换为相应的大写字母C. 若x不是小写英文字符,则将其值自减32D. 若x不是小写英文字符,则将其值改为327. 已知i是char型,则关于语句 for(i=0;i<10;i++);的叙述中,错误的是:A. 因i不是int型,所以该循环语句的语法错误B. 循环10次C. 语句结束后,i的值是10D. 循环体是一个空语句8. 语句“printf(“%-10.3f”,3.1415926);”的运行结果是:A. 输出“-10.3”B. 输出“3.142”,占10位,左对齐C. 输出“-3.142”,占10位,右对齐D. 输出“3.142”,整数部分占10位,小数部分占3位,连同小数点一共占用14位,左对齐9. 已知a是一个char型一维数组名,且该数组内存有一个字符串,p是一个char型指针变量,则语句“p=a+strlen(a);”的作用是:A. 将指针p指向a数组的最后一个元素B. 将指针p指向a数组内的字符串的结束标记C.将指针p内存放a数组的长度D.将指针p内存放a数组内的字符串的长度10. 关于“if(表达式) 语句1 else 语句2”语句,下列叙述中,错误的是:A. 其中的“表达式”,可以是一个关系表达式或逻辑表达式,也可以是一个其他类型的表达式B. 其中的“语句1”只能是一个语句C. 其中的“语句2”只能是一个语句D. 其中的一对圆括号“( )”有时可以省略11. 关于数组定义与引用的概念、方法,下列叙述中错误的是:A. 在函数内部定义int a[N]; ,如此定义时,“N”必须是通过#define 定义过的符号常量,而不可以是变量B. int a[3]={1,2,3}; ,如此定义数组并将其初始化时,数组长度“3”可以省略C.int a[3]; ,如此定义数组a且不给其初始化时,默认a内的各元素得到的初始值均为0D.定义二维数组、且有初始化时,数组的第二维的长度(总列数)不可以省略12. 下列常用字符、字符串处理库函数中,无参函数是:A. gets()B. puts()C. getchar()D. putchar()13. 关于常量,下列叙述正确的是:A. “036”表示有效数字是3位的十进制“36”的数B. 常量“1234”被默认为int型C. 常量“1e3”与常量“1000”两种表示法,所代表的数值大小、数据类型都相同D. 常量“5”可以通过语句“5++;”变成数值614. 关于变量、变量地址、变量访问、间接访问的概念,下列叙述错误的是:A. 已知a是int型变量,则C程序中“a”表示变量a中存储的值,“&a”表示变量a的存储地址B. 已知a是int型指针变量,则C程序中“a”表示指针变量a中存储的值,“&a”表示指针变量a的存储地址C. 已知a是int型指针变量,则C程序中“a”表示指针变量a中存储的地址,“&a”表示指针变量a自身的存储地址D. 已知a是int型指针变量,则C程序中“*a”表示指针变量a中存储的地址中所存储的值15. 假设有如下定义:struct a{int x;float y;}b,c[10],*d;则有关结构体的类型定义、变量定义、数组定义、访问的基本概念,下列叙述错误的是:A. “a”是结构体类型名B. “b”是结构体变量名C. 数组c内可以同时存放10个int型数值和10个float型数值D.执行语句“d=c;”后,“d->y”与“c[0].y”不等价30分)1. 下一程序运行时将输出 ________________________ 。

08级C++I试卷(A)_含答案

08级C++I试卷(A)_含答案

诚信应考 ,检验作弊将带来严格结果!华南理工大年夜学期末检验2020-12《低级语言次第方案 I 》试卷 ( A )本卷须知:1. 考前请将密封线内填写明晰;2. 所有答案写在答题纸上;3.试卷跟答题纸同时提交;4.检验方法:闭卷;1.以下选项中,合理的常量表示是〔〕。

(A) ‘program’(B) 183AF (C) -618e3 (D)1.0e-5.32.实行以下语句后,i,j,k的值为〔〕。

int i=1,j=1,k=1; (i++,--j) && ++k;(A) 2,0,1 (B) 2,0,2 (C) 1,1,1 (D) 1,0,23.以下有关C++的说法中,精确的陈述是〔〕。

(A) const只能约束普通内存变量的的写把持,不克不迭约束指针变量的写把持。

(B) 静态变量跟全局变量的感染域根本上文件感染域。

(C〕一维数组定义中数组的长度表达式可以应用赋初值的变量。

(D) inline函数不普通函数调用的时空开销。

4.有如下代码段,不精确...的函数调用方法〔〕。

typedef int (*pType)(int,int);int max(int a,int b){ return a>b?a,b; }pType pf = max;(A) pf(1,2); (B) (*pf)(1,2); (C) max(1,2);(D) (&pf)(1,2);5.以下次第段中,循环次数是〔〕for(int i=10;i>0&&i%2;){ i=i-2; }(A) 0 (B) 4 (C) 5 (D) 66.已经清楚 int iArray[2][2]={0,1,2,3},以下表达式的值为2的是〔〕。

(A) iArray[2][1] (B) iArray[1][1](C) *(*(iArray+1)) (D) *(*(iArray)+1)7.假设char *a[]={“fortran〞,“basic〞,“c++〞,“java〞};那么语句cout<<a+3; 的输出结果是〔〕。

计算机语言B(C语言)2008春季学期A卷及参考答案

2008 春计算机语言B(C语言)A卷一、选择题(每小题1分,共30分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将你认为正确的选项填写在题干的括号内。

1.C语言源程序文件的扩展名是【】。

A..exe B..C C..obj D..cpp2.以下叙述中,正确的是【】。

A.C程序中注释只能出现在程序的开始位置和语句的后面B.C程序书写格式严格,要求一行内只能写一个语句C.C程序书写格式自由,一个语句可以写在多行上D.用C语言编写的程序只能放在一个源程序文件中3.以下选项中可用作用户标示符的一组是【】。

A._2008,_main B.Date y-m-dC.txt D.case _0014.以下不符合C语言语法的字符常量是【】。

A.′C′ B.′\xDD′ C.′\012′ D.″p″5.若以下选项中的变量已正确定义,则正确的赋值表达式是【】。

A.x=y==5; B.x=n%2.5; C.x+n=i; D.x=5=4+1; 6.以下叙述中,错误的是【】。

A.改变函数形参的值,不会改变对应实参的值B.函数可以返回地址值C.可以给指针变量赋一个整数作为地址值D.当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL7.若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是【】。

A.scanf(″%d″,a,b,c); B.scanf(″%d%d%d″,a,b,c); C.scanf(″%d″,p); D.scanf(″%d″,&p);8.有以下程序段int j; float y; char name[50];scanf(″%2d%f%s″,&j,&y,name);当执行时,从键盘输入55566 777abc后,y的值为:A.55566.0 B.566.0 C.7777.0 D.566777.09. 若变量已正确定义,有以下程序段i=0;doprintf(″%d,″,i); while(i++);printf(″%d\n″,i);其输出结果是【】A.0,0 B.0,1 C.1,1 D.程序进入无限循环10.有以下程序:main(){ int x=17;do{--x;printf("%d",x);}while(!x);}程序运行后的输出结果是【】。

2009年上学期《C语言程序设计》期末试卷(A)参考答案

2009年上学期《C语⾔程序设计》期末试卷(A)参考答案华东师范⼤学期末试卷(A)2008 —2009学年第⼆学期课程名称:C语⾔程序设计学⽣姓名:学号:______________专业:年级/班级 2007级课程性质:专业必修(请将所有答案写在答题纸上)⼀、填空题(每空1分,共10分)1. 设x和y均为int型变量,且x=2,y=3,则表达式1.0+x/y的值为 1.0。

2. 有如下输⼊语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输⼊数据的正确形式应是a=1,b=3,c=2 。

3. 变量y满⾜以下两条件中的任意⼀个:①能被4整除,但不能被100整除;②能被400整除。

请⽤逻辑表达式表⽰所给条件:___(y%4==0&&y%100!=0)||(y%400==0)_ __4. 在内存中存储“A”要占⽤ 2 个字节,存储…A?要占⽤ 1 个字节。

5. C语⾔编译系统在判断⼀个量是否为“真”时,以0代表“假”,以⾮0代表“真”。

6. 结构化程序设计⽅法规定程序或程序段的结构有三种:顺序结构、选择结构和循环结构。

7. 设有“int x=1;”,则“x>0 ? 2*x+1 : 0”表达式的值是___3_______。

8. C语⾔的表达式与语句的区别在于C语⾔的语句是以分号结束的,⽽表达式是没有分号的。

⼆、选择题(每⼩题1分,共20分)1. 以下关于C程序执⾏叙述正确的是( A)A)程序的执⾏总是从main函数开始,在main函数结束B)程序的执⾏总是从程序的第⼀个函数开始,在main函数结束C)程序的执⾏总是从main函数开始,在程序的最后⼀个函数中结束A)计算机不能直接执⾏⽤C语⾔编写的源程序B)C程序经C编译程序编译后,⽣成后缀为.obj的⽂件是⼀个⼆进制⽂件C)后缀为.obj的⽂件,经连接程序⽣成后缀为.exe的⽂件是⼀个⼆进制⽂件D)后缀为.obj和.exe的⼆进制⽂件都可以直接运⾏3. 设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( A )A)k++ B) k+=1 C) ++k D) k+14. 若⽤数组名作为函数调⽤时的实参,则实际上传递给形参的是(A)。

郑州大学09级C语言实验报告答案

郑州大学09级C语言实验报告答案郑州大学09级C语言实验报告答案(实验5——实验14)实验五循环(一)1、参看谭浩强(第三版)P114-1152、main(){ int i , j;for (i=1 ; i<11; i++){for (j=1; j<=40-i ; j++) printf(“”);for (j=1; j<=2*i-1;j++) printf(“%d”,i-1);printf(“\n”); }3、main(){ int p=1; /*说明符号位*/long n;float t=1.0/3.0 ,sum=1-1.0/3.0;for( n=3 ; t>=1.0e-5; n++){ t=1.0/(n*n+1); sum=sum+p*t ; p=-p; }printf(“\n sum= %f \n”,sum);}}4、main(){ char c;int k;int n1=0,a1=0,u1=0; /*分别存放数字、字母及其它字符个数*/ printf(“\n Input 30 chars:”);for (k=1; k<=30; k++){ scanf(“%c”,&c);if (c>=‘A’&&c<=‘Z’|| c>=‘a’&&c<=‘z’) a1++;else if(c>=‘0’ && c<=‘9’) n1++;else u1++;}printf(“\n 0~9=%d; A~Z a~z=%d ; otherwise=%d\n”,n1,a1,u1); }5、main(){ int i;long int f1, f2;f1=0; f2=1;for (i=1; i<=10; i++){ printf("%12ld %12ld",f1,f2);if (i%2==0) printf(“\n”); /*输出两次后换行*/f1=f1+f2; f2=f2+f1;}}实验六循环(二)1、main(){ float sum=0,mul=1;int i;for(i=1;i<=10;i++){ mul*=i;sum+=mul;}printf("\n 1!+2!+3!+4!+...+10!=%f\n",sum);}2、main(){ int k,m;for( k=1; k<=9; k++){ for (m=1; m<=k; k++) printf(“%d*%d=%-2d “,m,k,m*k);printf(“\n”);} }3、main(){ int i , j;for (i=1 ; i<5 ; i++){for (j=1; j<=40-i ; j++) printf(“”);for (j=1; j<=2*i-1;j++) prin tf(“*”);printf(“\n”);}for (i=3 ; i>0 ; i--){for (j=1; j<=40-i ; j++) printf(“”);for (j=1; j<=2*i-1;j++) printf(“*”);printf(“\n”); } }4、main(){ int x,y,z;printf(“\n 大公鸡母鸡雏鸡");for (x=0; x<20; x++)for (y=0;y<34;y++){ z=100-x-y;if (z%3!=0) continue;if (5*x+3*y+z/3==100)printf("\n%8d %8d %8d",x,y,z);} }5、main(){ long s=0,sn=0;int k, n;printf(“\n Input n=“);scanf(“%d”,&n);for (k=1; k<=n ; k++){ sn=sn+k;s=s+sn;}printf(“\n n=%d ; s=%ld \n”,n,s);}实验七数组(一)1、用随机函数产生15个100以内的随机整数存入一维数组,然后分三行输出,每行3个数。

08~09A-answer

选择 ACABB BACDA BBACD

填空 1、 指针 2、 空串 3、 直接插入排序 4、 冒泡 5、 开放定址法(线性探测再散列、二次探测再散列、伪随机探测再散列)、再哈希法、链地址法、建立一个公共溢出区 (答出任意两个都给分) 6、 100+(4×10+5)×2=190 7、 DHEBIFCA 8、 499 9、 15,12,11,10,8,16,18,17,13,19 10、 Hi=(H(key)+i)%11

简答 1、 GHIJ HJIG (正确指出第三棵树给1分,正确写出一个序列给2分) 2、 a b c d e f g h 7 26 2 28 13 10 3 11

a:0101 b:10 c:01000 d:11 e:011 f:000 g:01001 h:001 (左右子树掉换,编码有所不同,适当扣分)

100 12 5 25 21 b d 46 g c a e h f 54 3、 2,3,1,5,9,6,8,7 1,2,3,5,9,6,8,7 不是 (正确写出一趟划分结果给2分,正确回答第二个问题给1分)

4、

四、 1、 DeleteNode(LinkList head){ p = head -> next; max = p -> data; while ( p != NULL ) if ( p -> data > max ) max = p -> data; pre = head; p = pre -> next; while ( p -> data != max ){ pre = p; p = p -> next; } pre -> next = p -> next; free (p ); }

2、 count=0; CountOneChild(Bitree *T){ if ( T ){ if ( ( T-> lchild == NULL && T ->rchild != NULL ) || (T-> lchild != NULL && T ->rchild == NULL )) count++; CountOneChild ( T -> lchild ); CountOneChild ( T -> rchild ); } }

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

08-09第1学期《C语言程序设计》试卷A1、下列变量定义合法的是:()A) float _a=.1e-1; B) double b=5e2.5;C) long for=0xfdal; D) float 2_and=0.12;2、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的是:()。

A)a≠0; B)!a; C)a=0; D)a;3、若变量已正确定义并赋值,下面符合C语言语法的表达式是:()。

A)a:=b+1; B)a=b=c+2;C)int 18.5%3; D)a=a+7=c+b;4、两次运行下面程序,如果从键盘上分别输入6和4,则输出的结果是()。

void main(){ int x;scanf((“%d”,&x);if(x++>5) printf((“%d”, x);else printf((“%d\n”,x--) ;}A) 7和5 B) 6和3 C) 7和4 D) 6和45、当调用函数时,实参是一个数组名,则向函数传送的是()。

A)数组的长度B)数组的首地址C)数组的每一个元素的地址D)数组每个元素的值6、下列叙述不正确的是()A) 调用printf函数时,必须要有输出项。

B) 使用putchar函数时,必须在之前包含头文件stdio.h。

C) 在C语言中,整数可以以十进制、八进制或十二进制的形式输入。

D) 在调用getchar函数读入字符时,可以从键盘输入字符所对应的ASCII 码。

7、以下叙述正确的是()。

A)C语言程序总是从第一个定义的函数开始执行。

B)C语言程序即允许函数嵌套调用,又允许函数嵌套定义。

C)主函数中定义的变量在整个程序中都有效。

D )凡是在函数中未指定存储类别的变量,其隐含的存储类型为自动的(auto )。

8、 设变量a 、b 、c 、d 和y 都已正确定义并赋值。

若有以下if 语句if(a<b)if(c= =d) y=0;else y=1;该语句所表示的含义是:( ) A) ⎩⎨⎧≥=<=)(1)(0b a d c b a y 且 B) ⎩⎨⎧≠≥=<=)(1)(0d c b a d c b a y 且且C) ⎩⎨⎧≠<=<=)(1)(0d c b a d c b a y 且且 D) ⎩⎨⎧≠=<=)(1)(0d c d c b a y 且9、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是:( )。

A )函数调用可以作为独立的语句存在。

B )函数调用可以作为一个函数的实参。

C )函数调用可以出现在表达式中。

D )函数调用可以作为一个函数的形参。

10、若有如下程序段,其中s 、a 、b 、c 均定义为整形变量,且a 、c 均已赋值(c 大于0)s=a;for(b=1;b<=c;b++) s=s+1;则与上述程序段功能等价的赋值语句是( )。

A) s=a+b; B) s=a+c; C) s=s+c; D) s=b+c; 11、在下列选项中,没有构成死循环的程序段是:( )。

A ) int i=100; B)for(;;); while(1){ i=i%100+1; if(i>=100) break; }C ) int k=100; D) int k=0;do {++k; while(k=1) k++; }while(k>=100);12、以下叙述中正确的是:( )。

A )C 语言的源程序不必通过编译就可以直接运行。

B )C 语言中的每条可执行语句最终都可以被转换成二进制的机器指令。

C )C 源程序经编译后形成的二进制代码可以直接运行。

D )C 语言中的函数不可以单独编译。

13、以下能正确定义一维数组的选项是:()。

A)int num[]; B)#define N 100 int num[N];C)int num[0..100]; D)int N=100; int num[N];14、请选择出正确的程序段()。

A) int *p; B ) int *s, k;scanf(“%d”,p); *s=100;……………C) int *s, k; D) int *s, k;s=&k; char *p, e;*p=25; s=&k;......... p=&e;s=p;......15、以下叙述正确的是:()A ) 预处理命令必须位于C源程序的起始位置B ) 在C语言中,预处理命令都以“#”开头C ) 每个C程序必须在开头包含预处理命令行:#include<stdio.h>D ) C语言的预处理不能实现宏定义和条件编译的功能16、定义字符数组s并初始化:char s[10]={…a‟,‟\0‟,‟b‟,‟c‟,‟d‟,‟\0‟};则表达式strlen(s)的值为:()A) 10 B) 1 C) 6 D) 417、已定义c为字符型变量,则下列语句中正确的是()。

A) c=’97’ B) c=”97” C) c=97 D) c=”a”18、以下不能正确定义二维数组的选项是()A) int a[2][2]={{1},{2}}; B) int a[][2]={1,2,3,4};C) int a[2][2]={{1},2,3}; D) int a[2][]={{1,2},{3,4}};19、要求以下程序的功能是计算: s=1+1/2+1/3+…+1/10void 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)20、以下正确的函数定义形式为:( )A) double fun(int x,int y) B) double fun(int x ;y) C) double fun(int x ;int y) D) double fun(int x,y)二、填空题(每空2分,共20分)1、一个C 程序必定从________函数开始执行。

2、采用结构化程序设计方法编写的程序一般有三种基本结构:顺序结构、 、 和 。

3、若想通过以下输入语句给a 赋1,给b 赋2,则,输入数据的形式应该是:_________________________。

…… int a,b;scanf(“a=%d,b=%d ”,&a,&b); ……4、以下程序的功能是用递归方法计算学生的年龄,已知第一位学生年龄最小,2为10岁,其余学生一个比一个大两岁,求第5个学生的年龄。

请填空。

递归公式为:#include<stdio.h> int age(int n) { int c;if(n==1) c=10;else c= ; return (c); }void main() {printf(“age:%d\n”, ); } }5、以下程序的输出结果是 。

void main( ){ char s[ ]=”abcdef ”;⎩⎨⎧>+-==)1(2)1()1(01)(n n age n n ages[3]=‟\0‟;pirntf(“%s\n”,s);}6、下面程序的运行结果是:。

struct student{ char name[10];long sno;char sex;float score;};void main(){ struct student stu;printf(“%d\n”,sizeof(stu));}语言的标识符只能有三种字符组成,它们是字母、和。

三、写出下列程序的运行结果。

(在书写结果的表格中,假定每一格代表屏幕上一个字符的位置,请在表格内书写运行结果。

每题4分,共5题,共计20分)1、#include “stdio.h”void main( ){ int a[]={1,2,3,4,5,6,7,8,9,0},*p;for ( p=a;p<a+10; p++)printf(“%d”,*p);}运行结果为:2、void main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0: a++; break;case 1: b++; break;}case 2: a++;b++; break;case 3: a++;b++;}printf(“\na=%d,b=%d”,a,b);}运行结果为:void main(){ for(i=1;i<5;i++){ for(j=1;j<5;j++)printf("%4d",i*j);printf("\n");}}4、void swap(int a ,int b){ int m;m=a;a=b;b=m;printf(“%d,%d\n”,a,b) ;}void main( ){int x=3,y=4;swap(x,y);printf(“%d,%d”,x,y);}5、void main(){ float x=8.8, y=5.4;int a,b;a=x-y;b=(int)x-(int)y;printf(“x=%f,\ny=%f,\na=%d,\nb=%d\n”,x,y,a,b);四、编程题(第一题10分,第二题10分,共20分)1、如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为“完数”。

例如,6的因子为1、2、3,且1+2+3=6,即6是一个“完数”。

编写一个程序,判断从键盘输入的整数是否为“完数”。

2、从键盘输入一字符串放到字符数组s中,先将数组s中的字符正序放到数组t中,然后再将s中的字符逆序连接到t数组的后面。

要求:用函数调用来实现。

字符串的输入在主函数完成,串的连接在被调用函数来实现。

08-09第1学期《C语言程序设计》试卷A参考答案一、单项选择题。

(每道选择题只有一个正确答案,请将答案填在题前的括号内,填写其它地方无效。

每题2分,共15题,共计30分。

)1、A2、D3、B4、A5、B6、B7、D8、C9、D 10、B 11、A 12、B 13、B 14、C 15、B 16、B 17、C 18、D 19、C 20、A二填空题(每空2分,共20分)1.主(或main)2. 选择(或分支)结构循环结构3. a=1,b=24. age(n-1)+2 age(n)5. abc6. 197. 数字下划线三、写出下列程序的运行结果。

相关文档
最新文档