北京化工大学c语言程序设计考试题,北京化工大学C语言复习题

C 语言期末总复习 参考试卷一、选择题(共 22 分)1.下列变量名中合法的是____ 。A) B.C.Tom B)3a6b C)_6a7b D) $ABC2.C 程序的执行是从 ____开始执行A)第一条语句 B)主函数 C)命令行 D)第一个出现的函数3.已知 ch 是字符型变量,下面不正确的赋值语句是____。A)ch=‘a+b’; B) ch= ‘\0’; C)ch=‘7’+‘9’; D)ch=5+9;4. 与语句 while(x);等价的语句是 ______。A) while(x==0); B) while(x!=0); C) while(x!=1); D) while(~x);5. 已知 int i; float f;下列语句正确的是______。A)(int f)%i B) int(f)%i C) int(f%i) D) (int)f%i6.若 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;,则数值为 6 的表达式为_____ 。A) *(p+6) B)*p+6 C)*p+=5 D)p+67.以下为一维整型数组 a 的正确说明是_________.A)int a(10); B)int n=10,a[n];C)int n; D)#define SIZE 10scanf(“%d“, int a[SIZE];int a[n];8.温度华氏和摄氏的关系是: C=5/9(F-32)。已知:float C,F;由华氏求摄氏的正确的赋值表达式是____。A)C=5/9(F-32) B)C=5*(F-32)/9 C)C=5/9*(F-32) D)三个表达式都正确9.若有以下说明和语句:struct worker{ int no;char *name;}work, *p=则以下引用方法不正确的是____。A) work.no B)(*p).no C)p->no D)work->no10.为了判断两个字符串 s1 和 s2 是否相等,应当使用____。A)if(s1==s2) B)if(s1=s2) C)if(strcpy(s1,s2)) D)if (strcmp(s1,s2))11.下述程序的输出是______ 。main( ){ char c='A';if('0'void main(){ int a=15,b=21,m=0;switch(a%3){ case 0:m++;break;case 1:m++;switch(b%2){ default:m++;case 0:m++;break;}}printf(“%d\n“,m);}3.下面程序的运行结果是______。#include void main(){ int x=10,y=20,t=0;if(x==y)t=x;x=y;y=t;printf(“%d,%d \n”,x,y);}4.下面程序的运行结果是______。#includevoid main() {int i,j,p,s;s=0;for(i=1;i#includevoid main(){ char *p=“abcdefg\0hjik\0”;printf(“%d\n”,strlen(p));}6.下面程序的运行结果是______。#includeint Fun(int x){ static int y = 0;y += x;return y;} void main(){ int x = 10, y = 0, k;for(k=0; kvoid main(){int a[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;for(i=0;ivoid main( ){ float y[50],min;int j,num=0;void fun(float y[50],float *min,int *num);for(j=0;jy[j]) B ;if(y[j]void main() { char s[100];int letter=0,i=0;printf(“please input some characters\n“);A ;while( B ){if( C )letter++;i++;};printf(“letter num=%d”,letter);}四、改写程序(3 分)1.该程序的功能是根据键盘输入的学生考试分数,判断学生是否通过考试。(60 分以上为通过)#includevoid main(){ int s;scanf(“%d“,if(s>=60) printf(“通过考试“);else printf(“没有通过考试“) ;}请用条件运算符 ? :判断结构改写程序中的 if else 判断结构。答案:一、选择题:CBABD CDBDD A1.C只能有字母、数字、下划线,但是第一个字符不可是数字2.B3.A‘’中只能是一个字符,a+b 不可以‘\0’是转义字符,可以数字是可以的(实际上就是输入了对应字符的 ASCII 码,char 和 int 是近亲)4.B(D 中~ 是位运算符号, 40 学时中没讲到)5.D%两侧必须是整数,注意强制转换符,括号的位置6.C数组下标从 0 开始7.D数组在定义的时候,中括号里必须是常量,不能是变量,否则系统不知道在定义的时候应该给这个数组多少存储空间;但是#define 是符号常量,也是常量,可以。8.B乘号不可以省略,主页君编程的时候经常忘记乘号;5/9 在 C 语言中得 0;5.0/9 就不是 0 了。9.D结构体引用的三种方式:(假设有一个结构体 work 有一个指针 p 指向 work)work.no(*p).nop->no第三种,左边必须是一个指针项,不可以是常项,所以错;10.D字符串不可以直接比大小 要使用 strcmp 函数11.A‘0’=’a’&&s[i]=60?printf(“通过考试”): printf(“没有通过考试”);最后,主页君友情提示:(1)写输出结果的时候,一定看看 printf 中除了你的得数,有没有别的符号,例如 s= 或者逗号、回车之类的东西,一块写出来;(2)填语句的时候,看看原来有没有分号,如果没有的话一定要填上,有的话就不要再填上。理论上说,多一个分号,少一个分号,代表的含义完全不一样……

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值