中南大学c语言程序设计2013年下学期期末考试,中南大学C语言历年试卷

62e50291a81fc54b507f33cb80033297.gif 中南大学C语言历年试卷

(6页)

a4a86d18a354ccc6a9c4a67fc8ff4cf3.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

9.9 积分

中南大学考试试卷2005 -- 2006 学年 2 学期 时间110分钟c语言程序设计 课程 64 学时 4 学分 考试形式: 闭 卷专业年级: 力学0401、0402 总分100分,占总评成绩 70 %注:此页不作答题纸,请将答案写在答题纸上一、单项选择题 (每小题1分,共20分)1、在C语言中,按变量的作用域不同可以将变量分为 两类变量。A) 整型变量和实型变量 B) 全局变量和局部变量C) 复杂变量和简单变量 D) 静态变量和自动变量2、在C语言中,如果下面的变量都是int类型,则输出的结果是 。sum=pad=5; pAd=sum + + ,pAd + + , + + pAd; printf("%d\n",pad);A) 7 B) 6 C) 5 D) 43、以下程序的输出结果是 。# include void main(){ int i=010 , j = 10; printf("%d,%d\n",+ +i , j - -); }A) 11,10 B) 9,10 C) 010,9 D) 10,94、已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是 。# include void main(){ char c1='A', c2='E'; printf("%d,%d\n",c1,c2); }A) 因输出格式不合法,输出错误信息 B)65,70 C)A,Y D)65,695、指针s所指字符串的长度为 。char *s="\"Name\\Address\n";A) 19 B) 14 C) 18 D) 说明不合法6、设有说明int(*ptr)[m];其中的标识符ptr是 。A)M个指向整型变量的指针B)指向M个整型变量的函数指针C)一个指向具有M个整型元素的一维数组的指针 D)具有M个指针元素的一维指针数组,每个元素都只能指向整型量7、语句while(!E);中的条件!E等价于 。A)E = = 0 B)E= =1 C)E!=0 D)~E8、若有定义char s='\092 '; 则 A) s包含1个字符 B) s包含2个字符 C) s包含3个字符 D) s定义不合法9、若有说明 int a[3][4];则对a数组元素的正确引用是______ A) a[2][4] B) a[1,3] C) a[1+1][0] D) a(2)(1)10、若有定义struct weather{ double temp; int wind; } a;则变量a在内存占 个字节。A)4 B)2 C)10 D)811、设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是 。A)3 B)0 C)9 D)-1212、以下的for循环 for(x=0,y=0; (y!=123)&&(x<4); x + + );A) 是无限循环 B)循环次数不定 C)执行4次 D)执行3次13、设有语句char a='\072';则变量a 。A)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明不合法14、执行下面的程序段后,ab的值为 。int *var,ab;ab=100; var=&ab; ab=*var+10; A)120 B) 110 C) 100 D) 9015、sizeof( )是 。A)一种函数调用 B)一个双精度型表达式C)一个运算符 D)一个不合法的表达式16、在C语言中,下列 说法正确 。A)不能使用do-while语句构成的循环 B)do-while语句构成的循环必须用break语句才能退出C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环17、以下程序的输出结果是 。# include # include void main(){ char str[12]=“string”; printf("%d\n",strlen(str)); }A) 6 B) 7 C) 11 D) 1218、C语言中形参的缺省存储类别是  。A)自动(auto) B)静态(static) C)寄存器(register) D)外部(extern)19、设有如下枚举类型定义:enum language { Basic=3,Assembly,Ada=100,COBOL,Fortran};枚举量Fortran的值为 A) 4 B) 7 C) 102 D) 10320、设有如下的函数void ggg(float x){ printf("\n%d",x*x);}则函数的类型是 A) 与参数x的类型相同 B) void C) int D) 无法确定二、填空题 (每空2分,共20分)1.结构化程序设计所规定的三种基本控制结构是 [1] 结构.选择结构和循环结构。2.设有如下程序:#includevoid main(){ int **k, *j, i=100; j=&i; k=&j; printf("%d\n", **k); } 上面程序的输出结果是 [2] 3. 用scanf(“%s”,s)输入一个字符串时,假设从键盘上输入ab(空格)cd(回车) ,则printf(“%s”,s);输出为[3] 4. 函数的形式参数按作用域分属于 [4] 变量5. 预编译命令以 [5] 打头6. 设y为int 型变量,且y=6,执行表达式y=y/5后,y的值为 [6] 7. 以下程序输出结果是 [7] void main ( ) { int m=5; if (m++>5 )print ("%d\n",m); else printf ("%d\n",m--); }8. 若想通过以下输入语句a使中存放字符串1234,b中存放字符5,则输入数据的形式应该是 [8] char a [10],b; scanf("a=%sb=%c",a,&b);9. 下面程序的输出结果是 [9] .char b []="ABCD"; void main() { char *chp ; for (chp =b;*chp ;chp +=2) printf("%s",chp); printf("\n"); }10. 以下程序运行后,输出结果是 [10] void main( ) { char *s="abcde"; s+=2; print("%s \n",s); }三.阅读以下程序,写出程序的执行结果(每小题5分,共30分)1.# include # define N 2# define M N+1# define NUM (M+1)*M/2main(){ int i , n=0;for ( i=6;i<=NUM;i + + ){n + + ; printf("%d\t",n); }}2. #include "stdio.h"void main(){int a, b; for(a=1,b=1; a<=10; a++) {if(b>=10) break; if(b%3==1) {b+=3; continue;} } printf("%d\n",a);}3. #include”stdio.h” char b []="ABCD"; void main() { char *chp ; for (chp =b;*chp ;chp +=2) printf("%s",chp); printf("\n"); }4. # includevoid main(){ union {int b[4]; char a[8]; }t; t.b[0]=0x4142; t.b[1]=0x4344; t.b[2]=0x4546; t.b[3]=0x0000;printf(" %s ",t .a);}5. # include void main(){ int k=4,m=1,p; int func(int a,int b);p=func(k,m); printf("%d,",p);p=func(k,m); printf("%d\n",p);}int func(int a,int b){ static int m=0,i=2;i+=m+1; m=i+a+b; return(m); }6. # include void main() { static char a[]="ABCDEFGH",b[]="abCDefFh"; char *p1 , *p2; int k; p1=a; p2=b; for(k=0;k<8;k++) if (*(p1+k)= =*(p2+k)) printf("%c",*(p1+k)); } 四. 阅读程序,根据提示信息完善程序,每个空只能填写一条语句或一个表达式(每空3分,共30分)1. 以下程序求数组中值最大的元素在数组中的下标。# include void main(){ int a[10] , i , num = [1] ;for ( i=0 ; i<10 ; i + + ) {scanf("%d", [2] );if(a[num]#include [4] void main(){ int *p,sum=0,i; p=( [5] )malloc(10*sizeof(int)); for(i=0;i <10;i++){scanf(“%d”, [6] ); if(isprime(*(p+i)) ) sum+=*(p+i) }printf(“sum=%d”,sum);} int isprime(int x){ int i,f=1; for(i=2;i<=sqrt(x);i + + )if(x%i = = 0) {f=0;break;} [7] ;}3. 以下程序调用invert函数按逆序重新放置a数组中元素的值。a数组中的值在main函数中读入。#include #define N 10void invert(int *s, int i, int j){ int t; while(i

524d6daf746efaa52c3c71bbfe7ba172.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值