《C语言程序设计试题9及答案.doc》由会员分享,可在线阅读,更多相关《C语言程序设计试题9及答案.doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、选择题 1一个C语言程序是由( )构成。 A语句 B行号 C数据 D函数 2下面标识符中正确的是( )。 Ad&ef B6a Cz4x5c Da3/b4 3在C语言中,存储一个字符型、整型、单精度实型变量所需的空间是()。型、单精度实型变量所需的空间是()。 A1、2、4 B1、1、4 C1、2、8 D2、2、8 4.为了避免嵌套的条件分支语句 if-else中的else总是与( ) 组成成对关系。 A. 缩排位置相同的 B. 在其之前未配对的 C. 在其之前未配对的最近的if D. 在同一行上的if 5下列表达式的结果正确的是( )。 int aa,bb,cc,dd; aa=bb=cc=
2、dd=1;sp; aa=bb=cc=dd=1;sp; aa=bb=cc=dd=1; (aa+1=2)?bb=aa+2:aa+3 A2 B3 C 1 D5 6设有int x=11 ;则表达式(x+1/3)的值是( )。 A3 B. 4 C. 11 D.127设有字符串A=“He has 钱!”,则该字符串的长度为( )。 A. 9 B. 10 C. 11 D. 8 8有如下程序段,则正确的执行结果是( )int m=3;while(m=5) printf(“%d ”,m-3); m+; A 0 0 0 B0 1 2 C1 2 3 D.无结果 9.执行语句:printf(%d,(a=2)&(b=
3、-2);后,输出结果是( )。 A无输出 B结果不确定 C-1 D. 1 10.有如下定义类型语句,若从键盘输入数据,正确的输入语句是( )。 int x; char y; char z20;A. scanf(%d%c%c,&x,&y,&z); B. scanf(%d%c%s,&x,&y,&z);C. scanf(%d%c%c,&x,&y,z); D. scanf(%d%c%s,&x,&y,z); 11. struct ex int x ; float y; char z ; example;则下面的叙述中不正确的是( )。A. struct结构体类型的关键字 B. example是结构体类型
4、名C. x,y,z都是结构体成员名 D. struct ex是结构体类型12.在C语言中对于实型数组,其每个数组元素的类型是( )。A. 实型 B. 整型 C. 可以为任何类型 D. 不确定 13. 若已定义:int a9,*p=a;不能表示a1 地址的表达式是( )。A. p+1 B. a+1 C. a+ D. +p14. 在TC2.0环境中,对文件进行保存使用的命令是( )。A. OPEN B. SAVE C. LOAD D. WRITE TO 15.在C+的类中,用于表示公共类型的关键字是( )。A. class B. private C. protect D. public 二、填空题
5、 1.在C语言中,正确的标识符是由_组成的,且由_开头的。 2. 设p=30,那么执行q=(+p)后,表达式的结果q为_,变量p的结果为_。若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是_。 3. 一个变量的指针是指_。 4. 在C语言程序中,对文件进行操作首先要_;然后对文件进行操作,最后要对文件实行_操作,防止文件中信息的丢失。 5. 以下程序运行后的输出结果是 。该程序的功能是 。main() int x=10,y=20 ,t=0;if(x!=y) t=x; x=y; y=t;printf(%d,%dn,x,y); 6. 若fp已正确定义为一个文件指针,d1.
6、dat为二进制文件,请填空,以便为读而打开此文件:fp=fopen( );。 7. 有以下程序,当输入的数值为2,3,4时,输出结果为 _。main() int x,y,z; cout xyz; sum=x*x+y*2+z; cout“sum of number is :”sum; 8. 有以下程序main() char c;while(c=getchar()!=?) putchar( - - c ); 程序运行时,如果从键盘输入:YDG?N?,则输出结果为 。 9.在循环中,continue语句与break语句的区别是:continue语句是语句的区别是:continue语句是 ,break
7、 是 。三、程序填空与算法题1. 下面程序是计算10个整数中奇数的和及其偶数的和,请填空。#include main() int a,b,c,i;a=c=0;for(i=1;i=10;i+) scanf(“%d”,&b);canf(“%d”,&b); printf(偶数的和=%dn,a);printf(奇数的和=%dn,c); 2编写一个自定义函数,实现求两个实数的平方和3. 以下程序运行后的输出结果是 。main() char s =GFEDCBA; int p=6;while(sp!=D) printf(%c , p);p=p-1; 4定义一个反映学生信息的结构体,包括学生的姓名,性别,年
8、龄,成绩等。5以下程序输出的结果是 。int ff(int n) static int f=l;f=f*n;return f; main() int i;for(i=1;i=5;i+) printf(%dn,ff(i); 6 设有以下程序:main() int n1,n2;scanf(%d,&n2);while(n2!=0) n1=n2%10;n2=n2/10;printf(%d ,n1); 程序运行后,如果从键盘上输入1298;则输出结果为 。 7下面程序的功能是:输出 100以内(不包含100)能被 3整除且个位数为 6的所有整数,请填空。Includestdiohmain() int i
9、, j;for(i=1; _; i+)if (_) printf(%d, j); 8.现有一个单链表Head,如下图所示,如果要在元素B和D之间插入一个字符型元素C。所需要的语句为:(如果用到指针,在图中标出指针的位置)ABHeadDZ. 四、编程题 1 编程实现求解下面的式子的结果s=1*2+2*3+3*4+20*21 2编程实现求下面的式子的结果 3编程实现将文本文件file1.dat的内容读出来,显示到屏幕上。一、选择题 1D 2. C 3. A 4. C 5. B 6C 7. B 8. B 9. D 10. D 11B 12. A 13. C 14. B 15. D 二、填空题 1字母
10、、数字、下划线;以字母、下划线开头。 24,4 -12 3. 该变量的地址。 4打开;关闭。 5. 20 , 10 变量的交换 6“d1.dat”, “rb” 7. sum of number is :14 8 xcf 9 9 9 9结束本次循环,进入下一次循环;结束循环。三、程序填空与阅读程序题(参考答案) 1. if (b%2=0) a=a+b else c=c+b 2. float sum(float x,float y) return x*x+y*y; 3. A B C 4. struct student char name10; char sex; int age; float sc
11、ore; 5. 1 2 6 24 120 68 9 2 1 7iNEXT=Q-NEXT; P-NEXT=NEW;五、编程题1参考答案 main() int m,n,sum=0; for (m=1;m6) y=(x-3)/(2*x-12); else y=-2*x*x+4*x-10; printf(“y=%f”,y); 3main() char ch; FILE *fp1,*fp2; fp1=fopen(“file1.dat”, “r”); fp2=fopen(“file2.dat”, “r”); fp3=fopen(“file3.dat”, “w”); Ch=fgetc(fp1); While(ch!=EOF) fputc(ch,fp3); fputc(ch,fp3); Ch=fgetc(fp1); Ch=fgetc(fp2); While(ch!=EOF) fputc(ch,fp3); fputc(ch,fp3); Ch=fgetc(fp2); Fclose(fp1); Fclose(fp2); Fclose(fp3);