08-09学年第1学期《C语言程序设计》 补考试卷(5)

2019-03-21 20:46

一、选择题(50分,每小题2分)

(1) C源程序经过编译、链接后,产生的可执行程序的扩展名为()。 (A) .exe (B).com (C).obj (D).dll (2) 以下非法的C语言常量是()。

(A)0xff (B)-80 (C)-8.5e-2 (D)081 (3) 以下非法的C标识符是()。

(A)For (B)_123 (C)INT (D)sizeof (4) 以下程序的输出结果为()。 #include void main(void){ char ch='1';

printf(\?0?); }

(A)0, (B) 2 (C)1 (D) -1 (5) 以下程序的输出结果为()。 #include void main(void) { int m=10;

printf(\

printf(\}

(A)10,20 (B)9,19 (C)10,18 (D)9,18 (6) 以下叙述中错误的是( )。

(A) break 语句只能用在循环体内和switch语句体内 (B) 数组名是一个指向数组首元素的指针 (C) 组成C程序的基本单位是函数 (D)sizeof不是C的运算符 (7) 以下程序的功能是()。 #include #define N 5

void main(void){ long result=0L; int i,k,m;

for(i=1;i<=N;i++){ m=1; for(k=1;k<=i;k++) m*=k; result+=m; }

printf(\}

(A)计算1!+2!+3!+…+N! (B)计算N! (C)计算1+2+3+…+N (8) 以下不合法的字符常量是()。

(A)?\\n? (B)?\\\\? (C)?\\0101? (D)”a”

(D) 以上都不对 (9) 运行以下程序的输出结果为()。 #include int fun(char *s){ int num=0; while(*s!='\\0'){ num++; s++; } return num; }

void main(void){

char* str=\ printf(\}

(A) 10 (B) 11 (C) 12 (D)13

(10)若包含预处理命令#include,定义char s[ ]=”Huaqiao”; ,则表达式sizeof(s)和strlen(s)的值分别为()。

(A) 7,7 (B) 7,8 (C) 8,7 (D)8,8 (11) 以下程序的运行结果为()。 #include #include void main(void){

char* str=\ strcpy(s,str+3);

printf(\}

(A) 3 (B) 4 (C) 7 (D)20 (12) 以下语句,错误的是()。

(A) int a, *p=&a; (B)int a[10], *p=a+1; (C) int a[2][3]; int *p=a[1]; (D) int* p; *p=10; (13) 若有int a[5]={1,2,3,4,5};,则表达式*(a+1)的值为()。 (A)2 (B)3 (C)4 (D)5

(14) 若有int a[2][3]={1,2,3,4,5,6};,则表达式*(*(a+1)+2)的值为()。 (A)3 (B)4 (C)5 (D)6

(15) 若有定义char a[]=\,以下叙述中错误的是()。 (A) 数组a存储的是一个字符串 (B) 数组b存储的是一个字符串 (C) 数组a缺省的长度为4 (D) 数组b缺省的长度为3 (16) 以下程序的输出结果是()。 void f(int *x,int *y) {

int t; t=*x; *x=*y; *y=t; }

void main(void) {

int a[]={1,2,3,4,5,6,7,8},i,*p,*q; p=a; q=a+7;

while(p

for(i=0;i

程序运行后

(A)8,2,3,4,5,6,7,1, (B)5,6,7,8,1,2,3,4, (C)1,2,3,4,5,6,7,8, (D)8,7,6,5,4,3,2,1, (17) 以下程序,若输入值3,则输出结果为()。 #include void main(void){ int n=10,*p=&n; scanf(\ (*p)++;

printf(\}

(A)3 (B) 10 (C) 4 (D)11 (18) 以下程序的输出结果为()。 #include #include struct student{ int num; char name[20];

}s[3]={{111,\void main(void){ int k; s->num+=10; strcpy((s+2)->name,\ for(k=0;k<3;k++) printf(\ }

(A) 111 liuming,112 sunlei,113 yuhua, (B) 121 liuming,112 sunlei,113 yuhua, (C) 121 liuming,112 sunlei,113 huanghua, (D) 111 liuming,112 sunlei,113 huanghua, (19) 以下叙述中错误的是()。

(A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出 (B)数组名代表的是数组所占存储区的首地址,其值不可改变

(C)在编译源程序过程中,若数组元素的下标超出所定义的下标范围时,编译系统将给出\下标越界\的出错信息

(D)可以通过赋初值的方式确定数组元素的个数 (20) 有以下程序 #include

void main( int argc, char *argv[] ){

int n=0,i;

for(i=1; i

编译连接后生成可执行文件tt.exe,若运行时输入以下命令行: tt 12 345 678

程序运行后的输出结果是()。

(A) 12 (B) 12345 (C)12345678 (D)136

(21) 以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是()。 (A)feof(fp) (B)ftell(fp) (C)fgetc(fp) (D)rewind(fp) (22) 设有如下说明 typedef struct STUDENT { int num;

char name[20]; int score; }STU; STU s1;

则下面叙述中错误的是()。

(A)STU是结构类型名 (B) sizeof(s1)的值与sizeof(s1.name)相同 (C)struct STUDENT是结构体类型名 (D) s1是结构类型的变量名 (23) 下列函数的功能是()。 int fun(char *s){ int num=0;

while(*s!=?\\0?) {

if(*s==? ?) num++; s++; }

return num; }

(A)计算字符串s中所含空格的个数 (B) 计算字符串s的长度

(C) 统计字符串s中所含字母的个数 (D) 统计字符串s中所含数字字符的个数 (24) 下列函数的功能是()。

int fun(int n ){

if(n==1) return 1;

else return fun(n-1)+n; }

(A) 计算n! (B) 计算1+2+3+…+n (C) 计算1+2+3+…+n-1 (D) 计算(n-1)! (25) 下列函数的功能是()。

void fun(unsigned int n){ if(n<10) printf(\ else { printf(\ fun(n/10); } }

(A) 将组成数据n的各位输出(从低位到高位) (B) 将组成数据n的各位输出(从高位到低位) (C) 输出n除以10的余数 (D) 输出n除以10的商

二、程序填空题(16分,每小题8分)

1.以下程序输入10个正整数,存储于数组a中,将其中能被2整除的正整数,按序存储于数组b中,然后输出b中的数据。请填空完成程序。 #include void main(void){

unsigned int a[10],b[10]; (1)

printf(\请输入10个正整数:\\n\ for(k=0;k<10;k++) { scanf(\

if(a[k]%2==0) b[m++]=a[k]; }

for(k=0;k<= (2) ;k++) printf(\}

2.以下程序中,函数huiwen的功能是检查一个字符串是否是回文,当字符串是回文时, 函数返回值为1,否则函数返回值为0。主函数中输入一个字符串,如果该串为回文,则输出“yes”,否则输出“no”。所谓回文即正向与反向的拼写都一样,例如:adgda。请填空完成程序。 #include (1)

int huiwen(char *str){

int i=0,j= (2) ; while(i<=j)

if(str[i]==str[j]){ (3) }

if(i>j) return 1; else return 0; }

void main(void){ char str[50];

printf(\ scanf(\

if( (4) ) printf(\ else printf(\ }

三、编程题(34分)

(1)(11分)编写程序,计算Fabinacci数列1,1,2,3,5,8,13,21,??,的前10项之和。 (2)(11分)用二维数组data存储随机输入的(4×5)20个不重复整数,输出其中的最大整数及其输入的序号(序号可能值为1,2,3,... ,20)。 (3)(12分)完成函数int fun(char *s){ ? },函数返回字符串s中各个数字字符所组成的数。如,char *s=”a1bc2defg3h”,则函数返回值为整数123。并设计程序测


08-09学年第1学期《C语言程序设计》 补考试卷(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大体积混凝土裂缝产生原因及其预防控制措施

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: