南昌大学_2005学年第二学期期末c语言考试试卷
- 格式:doc
- 大小:106.50 KB
- 文档页数:8
C语言期末考试题及其答案------------------------------------------作者------------------------------------------日期语言期末考试题及其答案一选择题( 分,每小题 分)语言源程序的基本单位是()。
✌过程 函数 子程序 标识符下列程序的输出结果是()。
❍♋♓⏹☎ ✆♓⏹♦ ♋♌ ☐❒♓⏹♦♐☎✂♎⏹✂♌♌♋✆❝✌ 不确定值假设变量♋♌均为整型,表达式☎♋♌♋♌✍♋♌♋♌✆的值是()。
✌ 设♋为♓⏹♦型变量,执行下列赋值语句后,♋的取值分别是()。
♋ ♋☎♓⏹♦✆ ♋✌ 设有如下程序段,下面描述中正确的是()。
♓⏹♦ ♦♒♓●♏☎✆ ✌ 循环执行一次 循环是无限循环 循环体语句一次也不执行循环体语句执行一次以下程序的输出结果为()。
♓⏹♦ ♓❖☐♓♎ ☐❒♦☎ ✆♐☐❒☎♓♓♓✆☐❒♓⏹♦♐☎✂♍✂✉✆☐❒♓⏹♦♐☎✂♦✂✆ ❝❍♋♓⏹☎ ✆♐☐❒☎♓♓♓✆ ❒♓⏹♦♐☎ ✆ ❝✌ ✉✉✉ ✉✉✉ ✉✉✉ ✉✉✉ ✉✉✉ ✉✉✉ ✉✉✉ ✉✉ ✉ 在 语言程序中,以下说法正确的是()。
✌函数的定义可以嵌套 但函数的调用不可以嵌套函数的定义不可以嵌套 但函数的调用可以嵌套函数的定义和函数的调用都不可以嵌套函数的定义和函数的调用都可以嵌套以下函数调用语句中含有()个实参。
♐◆⏹♍☎☎♏♏✆☎♏♏♏✆✆✌ 语法错误以下程序的输出结果为()。
(完整版)C语⾔期末考试题(含答案)《C 语⾔程序设计》期末试卷⼀、单项选择题(10x2’=20’)1、以下叙述正确的是()A )C 语⾔的源程序不必通过编译就可以直接运⾏。
B )C 语⾔中的每条可执⾏语句最终都将被转换成⼆进制的机器指令。
C )C 语⾔源程序经编译形成的⼆进制代码可以直接运⾏。
D )C 语⾔中的函数不可以单独进⾏编译。
2、⼀个C 语⾔的源程序中()A )必须有⼀个主函数B )可能有多个主函数C )必须有除主函数外其它函数D )可以没有主函数3、以下不能定义为⽤户标识符的是()A )scanfB )VoidC )_3comD )int4、若以下选项中的变量已正确定义,则正确的赋值语句是()A )x1=26.8%3;B )1+2=x2;C )x3=0x12;D )x4=1+2=3;5、设有定义:float a=2,b=4,h=3;以下C 语⾔表达式中与代数式h b a *)(21 的计算结果不.相符的是() A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b)6、C 语⾔中⽤于结构化程序设计的3种基本结构是()A )顺序结构、选择结构、循环结构B )if 、switch 、breakC )for 、while 、do-whileD )if 、for 、continue7.在while (!x )语句中的!x 与下⾯条件表达式等价的是()A) x!=0 B) x==1 C) x!=1 D) x==08、有以下程序:#includevoid main(){int i=1,j=1,k=2;if( (j++||k++)&&i++ )printf(“%d,%d,%d\n ”,i,j,k);}执⾏后的输出结果是()A )1,1,2B )2,2,1C )2,2,2D )2,2,39、有以下程序:#includevoid 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中偶数之和10、有以下函数定义:void fun(int n,double x){……}若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调⽤语句是()A)fun(int y,double m);B)k=fun(10,12.5);C)fun(x,n); D)void fun(n,x);⼆、填空题(10x2’=20’)11、C语⾔描述“x和y都⼤于或等于z”的表达式是:。
南昌大学2003 ~2004 学年第二学期期末考试试卷A卷一单项选择题1.‘A’的ASCII码为65,n为int型,执行n =‘A’+‘6’-‘3’;后,n的值为 B 。
A)‘D’ B) 68 C) 不确定的值D) 编译出错2.下列变量名中, A 是合法的。
A)CHINA B) byte-size C) double D) A+a 3.在static int B[3][3]={{1},{3,2},{4,5,6}};中, a[2][2]的值是 C 。
A)0 B) 5 C)6 D)24.若有定义int a=3, *p=&a ;则*p的值是 B 。
A)常量a的地址值B)3C)变量p的地址值D)无意义5.下列关于指针运算的各叙述中,不正确的叙述是 D 。
A)指向同一数组的两个指针,可以进行相等或不等的比较运算;B)可以用一个空指针赋值给某个指针;C)指向数组的指针,可以和整数进行加减运算;D)指向同一数组的两个指针,可以进行有意义的相加运算。
6. 已知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) 7.下列各选项中,正确的选项是 A 。
A) 0和‘\0’值相等。
B) 0和‘0’ 值相等。
C)‘\0’和‘0’ 值相等。
D) 0、‘\0’和‘0’ 值都不相等。
8. 若有说明语句:char ch=‘\72’;则变量ch A 。
A)包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法9.在下列关于C++与C语言关系的各描述中, D 是错误的。
A)C语言是C++的一个子集;B)C语言与C++是兼容的;C)C++对C语言进行了一些改进;D)C++和C语言都是面向对象的。
10.在下列关于类概念的各描述中, A 是错误的。
南昌大学期末考试试卷(所有答案)XXXX第二学期结束时,南昌大学,试卷一,卷一,选择题。
“A”的ASCII码是65,n是整数,n=“A”,“6”-“3”;之后,n的值是b。
a)“d”b)68c)不确定值d)编译错误2。
在下列变量名中,a是合法的。
在A)中国B)字节之后,n的值是Ba)“d”b)68c)不确定值d)编译错误2。
在下列变量名中,a是合法的。
中国字节:字符通道.a)包含1个字符和2个字符c)包含3个字符是非法的9。
在下面对c和c之间关系的描述中,d是错误的。
a)语言c是c的子集;c语言与c语言兼容;C)c对c语言做了一些改进;c和c语言都是面向对象的。
10.下面对类概念的描述是错误的。
类是C语言中的结构类型;b)类是具有共同行为的几个对象的统一描述;类是创建对象的模板;d)类是抽象数据类型的实现。
11.在下列选项中,符合C语法的赋值表达式是C。
A)d=' 2e A)d=' 2e,' b) c) d 5='1' 1212.;表达式3)可以被理解为b. a)用于(;0 )b)对于(;1 )c)对于(;表达式1) d)表示(;表达式-省略部分-)1.一个错误a1='10a2=20a3=31a4=41 '扣1分2.三角形,得3分* * * * * * * * * * * *3.如果格式不正确,扣1分1220分4.如果顺序不正确,每点:4圆半径:5圆析构函数扣1分!点析构函数!五、程序设计问题(每项10分,共20分)1、# include # define size 10 void main(){ int数据[大小];m .请输入“[m”数据;int j=0,k=0;对于(int I=1;[[j])j=I;否则,如果(数据[I]0){ int d=数据[0];数据[0]=数据[k];数据[k]=d;} if(k2,# include lass date { public : CD ate()函数重载year=' y;月=m;day=d;'(int y,int m='1,int '成员函数设置默认参数void print date();打印日期无效设置日期(int sy,int sm,int sd)非静态函数设置日期{ year=' sy月=sm。
南昌大学2005~2006学年第二学期期末考试试卷一、单项选择题(每空 2 分,共50 分二、程序阅读题(每小题3分,共18分)三、填空题(每空2分,共20分)四、编程题(第1小题4分,第2小题8分,共12分)1.共4分(本题考自定义函数的应用,用主函数完成题目的功能不给分) void fun(char s1[],char s2[]){ int i,j=0;for(i=0;s1[i];i++) 0.5分if(s1[i]>='0'&&s1[i]<='9') 1分s2[j++]=s1[i]; 1分s2[j]='\0'; 1分第 11 页 共 11 页 求出前2项之和为一位数存入数组2分1分 1分求出前2项之和为两位数存入数组3分,没有考虑超过20项的情况应扣分 puts(s2); 输出0.5分(可用循环语句) }2.共8分# include <stdio.h>main ( ){int x[20],i,t,s=0,k=0;x[0]=2;x[1]=3;k=2; s=x[0]+x[1];while (k<20) 循环控制正确1分 {t=x[k-1]*x[k-2];if(t<10){s+=t;x[k++]=t;}else{ x[k++]=t/10;s+=t/10;if(k<20){x[k++]=t%10;s+=t%10;}}}i=0;while(i<k){ printf("%3d",x[i]);i++;}printf("\n%d\n",s);}。
南昌大学2007~2008学年第二学期期末考试试卷6、在程序中执行到________语句时,将结束所在函数的执行过程,返回到调用该函数的位置。
7、以下程序main(){int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};int i,s=0;for(i=0;i〈4;i++) s+=aa[i][1];printf(%d\n,s);}程序运行后的输出结果是________________。
8、以下fun函数把ch中的大写字母转换成字母序列中的下一个大写字母,字母Z转换成字母A,其它字符不变,返回转换后的字母或其它字符。
请填空。
char fun(char ch){if(ch= =’Z’) ch=__________;else if(ch〉='A’&&ch<=’Y’) ch=__________;return ch;}9、下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数.#include 〈stdio。
h>void main(void){int i, j;for(i=0; i〈10; i++) {j = i*10+6;if (_____ _____ ) continue;printf(”%d ”,j);}}10、以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9—10,并输出结果。
请填空。
int fun(int n){int m=0,f=1,i;for(i=1;i<=n;i++){m+=i*f;f= __________ ;}return m;}main(){printf("m=%d\n”,________ __);}11、下面程序段是输出两个字符串中对应字符相等的字符。
请选择填空.char x[]=”programming”;char y[]=”Fortran”;int i=0;while (_______________ __ __){if (x[i]==y[i]) printf ("%c”,x[i]);else i++;}}12、以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和.请填空。
2007-2008 学年第一学期期末班号学号姓名成绩《 C 程序设计》期末考试卷注意事项:1、此卷为闭卷考试,120分钟完成;2、笔试成绩为卷面成绩*0.7。
一、选择题 (20分) 1, 下列运算符中最高优先级的运算符是 DA) && B) % C) -= D)!2, 对定义语句int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,i=5;数组元素地址的正确表示是DA)&(a+1) B)a++ C)&p D)&p[i]3, 以下结构定义,请指出不正确赋值语句是struct date{int month;int day;int year;};struct student{int num;char name[20];char sex;struct date birthday;float score;char addr[30];}stu1,stu2;A) stu1.num=10; B) stu1.score+=stu2.score;C) stu1=stu2; D) stu1.birthday.month=12;4,以下程序:#include <stdio.h>void main(){FILE *fp;fp=fopen(“f1.txt”,”w”);fprintf(fp,”abc”);fclose(fp);}若文本文件f1 .txt中原有内容为good,则运行以下程序后文件f1.txt中的内容为AA) abc B)abcd C) goodabc D) abcgood5,以下程序的运行结果是int f(int i){static int n=1;return n=n*i;}int main(){int i;for (i=1;i<5;i++) printf(“%3d”,f(i));printf(“\n”);} BA)1 2 3 4 B)1 2 6 24 C)1 2 4 6 D)1 3 6 24二、填空题 (30分)1, 若有定义double x; (5分)(1)使指针p可以指向变量x的定义语句是______double *p;___________(2)使指针p指向变量x的赋值语句是________p=&x;________(3)通过指针p给变量x读入值的scanf函数调用语句是____scanf(“%lf”,p);____________(4)通过指针p给变量x赋值语句是______*p=1.0;_____________(5) 通过指针p输出x的值的语句是_______printf(“%lf”,*p);____________ 2,以下函数用以求x的y次方。