c语言程序设计 a,C语言程序设计试题A

《C语言程序设计试题A》由会员分享,可在线阅读,更多相关《C语言程序设计试题A(6页珍藏版)》请在人人文库网上搜索。

1、班 级: 姓 名: 学 号: 密 封 线 四川职业技术学院20052006学年第 1 学期期末考试 C语言程序设计 (A)(供04电气、04机电班使用)考试时间:120分钟 满分:100分 命题人:陈 科题号一二三总 分总 分 人分数一、单项选择题,答案不写入答题栏的一律不得分!(每题1.5分,共52.5分)1、结构化程序设计的3种结构是 。A)顺序结构、选择结构、转移结构B)分支结构、等价结构、循环结构C)多分支结构、赋值结构、等价结构 D)顺序结构、选择结构、循环结构2、以下叙述中正确的是 。A)C语言比其他语言高级 B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然。

2、语言和数学语言作为语言的表达形式 D)C语言出现的最晚,具有其他语言的一切优点3、C语言中最简单的数据类型包括 。A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、字符型、逻辑型 D)字符型、实型、逻辑型4、若变量已正确定义并赋值,以下符合C语言语法的表达式是 。A)a:=b+1 B)a=b=c+2 C)int 18.5%3 D)a=a+7=c+b5、若变量a,i已正确定义,且i已正确赋值,合法的语句是 。A)a= =1 B)+i; C)a=a+=5; D)a=int(i);6、已知:int t=0;while(t=1).则以下叙述正确的是 。A)循环控制表达式的值为0 B)循环控制表达。

3、式的值为1C)循环控制表达式不合法 D)以上说法都不对7、若变量已正确说明为float型,要通过语句scanf(%f%f%f,&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是 。A)102233 B)10.0,22.0,33.0C)10.022.033.0 D)10 22338、有如下程序:main() int x=1,a=0,b=0;switch(x)case 0: b+;case 1: a+;case 2: a+;b+;printf(a=%d,b=%dn,a,b);该程序的输出结果是A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)。

4、a=2,b=29、有以下程序main()int i=1,j=1,k=2;if(j+|k+)&i+)printf(%d,%d,%dn,i,j,k);执行后输出结果是 。A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,310、有如下程序main()float x=2.0,y;if(x6)n-; printf(%d,n);该程序的输出结果是 。A)987 B)876 C)8765 D)987612、在下列选项中,没有构成死循环的是 。A)int i=100;while(1)i=i%100+1;if(i100)break; B)for(;);C)int k=10000;dok+;while。

5、(k10000);D)int s=36;while(s)- -s;13、设int x=1,y=1;表达式(!x|y-)的值是 。A)0 B)1 C)2 D)-114、有以下程序float fun(int x,int y)return(x+y);main()int a=2,b=5,c=8;printf(%3.0fn,fun(int)fun(a+c,b),a-c);程序运行后的输出结果是 。A)编译出错 B)9 C)21 D)9.015、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是 。A)函数调用可以作为独立的语句存在 B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式。

6、中 D)函数调用可以作为一个函数的形参16、若有以下调用语句,则不正确的fun函数的首部是 。main() int a50,n;fun(n, &a9);A)void fun(int m, int x) B)void fun(int s, int h41)C)void fun(int p, int *s) D)void fun(int n, int a)解析把数组a中9号元素的地址传递给fun的函数参数,本题的考点是用什么来做函数的形参。A选项用不定长度的数组x作形参;B选项用长度小于50的数组h作形参;C用指针变量*s作形参;显然D中形参变量a只是普通的整形变量,不能接收来自于实参9号元素的地。

7、址。17、fseek函数的正确调用形式是 。A)fseek(文件指针,起始点,位移量) B)fseek(文件指针,位移量,起始点)C)fseek(位移量,起始点,文件指针) D)fseek(起始点,位移量,文件指针)18、若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是 。A)EOF B)-1 C)1 D)NULL19、若有说明语句:char c=72; 则变量c 。A)包含1个字符 B)包含2个字符 C)包含3个字符 D)说明不合法,c的值不确定20、若有说明 int a34;则a数组元素的非法引用是 。A)a02*1 B)a13 C)a4-20 D)a0421、。

8、设有以下说明语句struct stuint a;float b; stutype;则下面的叙述不正确的是 。A)struct是结构体类型的关键字 B)struct stu是用户定义的结构体类型C)stutype是用户定义的结构体类型名 D)a和b都是结构体成员名22、在C语言中,引用数组元素时,其数组下标的数据类型允许是 。A)整型常量 B)整型表达式 C)整型常量或整型表达式 D)任何类型的表达式23、若运行时给变量x输入12,则以下程序的运行结果是 。main()int x,y;scanf(%d,&x);y=x12?x+10:x-12;printf(%dn,y); A)0 B)22 C)1。

9、2 D)1024、以下说法正确的是 。A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分25、表达式0x130x17的值是 。A)0x04 B)0x13 C)0xE8 D)0x1726、有以下程序 #define F(X,Y)(X)*(Y)main()int a=3, b=4; printf(%dn, F(a+, b+); 程序运行后的输出结果是 。A)12 B)15 C)16 D)2027、下列程序执行后的输出结果是 。void func(int。

10、 *a,int b) b0=*a+6; main()int a,b5;a=0; b0=3;func(&a,b); printf(%dn,b0);A)6 B)7 C)8 D)9解析func(&a,b)中两个参数分别把整形变量a的地址传递给指针变量*a、把数组b(即数组名作实参)首元素的地址传递给形参数组b。因此在func()函数中,b0=*a+6=0+6=6。28、若有下面的程序段:char s=china;char *p; p=s;则下列叙述正确的是 。A)s和p完全相同 B)数组s中的内容和指针变量p中的内容相等C)s数组长度和p所指向的字符串长度相等 D)*p与s0相等29、有以下程序vo。

11、id sort(int a,int n)int i,j,t;for(i=0;i#includevoid fun(int a,int n, int *max, int *d) int i;*max=a0;*d=0;for(i=0; i(y)?(x):(y)main() int a=5,b=2,c=3,d=3,t;t=MAX(a+b,c+d)*10;printf(%dn,t);49、下列y的值是 8 。int y; y=sizeof(2.25*4);50、mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。int mystrlen(char *str) int i;f。

12、or(i=0; *(str+i)或者写成stri != 0;i+);return(i);三、程序设计题。要求程序结构清晰,没有逻辑错误,书写工整,无需写出运行结果。请写在背面并标明题号(第51题7.5分、第52题10分,共17.5分,按关键步骤评分)51、输入一个33的整数矩阵,求其对角线元素之差。#include void main()int a33,minus;int i,j;printf(enter data:n);for (i=0;i#define N 10struct studentchar stu_num6; char name8;float score3;float avr;st。

13、uN;void main()float sum; int i,j;for (i=0;iN;i+)printf(enter information of student %d:n,i+1);printf(stu_num:);scanf(%s,stui.stu_num);printf(name:);scanf(%s,stui.name);for (j=0;j3;j+)printf(score %d:,j+1);scanf(%f,&stui.scorej);/*此处的&运算符是指取结构体数组中元素的地址*/for (i=0;iN;i+)sum=0;for (j=0;j3;j+)sum+=stui.scorej;stui.avr=sum/3.0;printf(stu_num name score1 score2 score3 average_scoren);printf(%6s%10s,stu5.stu_num,stui.name);for (j=0;j3;j+)printf(%9.2f,stu5.scorej);printf(%8.2f,stu5.avr);。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值