1、C 语言程序设计试卷 第 1 页(共 7 页)河南理工大学 20102011 学年第 2 学期C 语言程序设计试卷(A 卷)考试方式:闭卷 本试卷考试分数占学生总评成绩的 70 %注:请将答案填写在答题纸上,写在试卷上,不得分。一、单项选择题(每题 1 分,共 30 分) ,在每小题列出的四个选项中只有一个选项是符合题目要求的,请在答案卡上将正确答案所对应选项的字母涂黑。1. 以下选项中正确的语句组是_。A) char s;s=“book!“ B) char *s;s=“book!“;C) char s10;s=“book!“ D) char *s;s=“book!“;2.C 语言源程序文件的
2、后缀是_。A) “.c “ B) “.obj“ C) “.exe“ D) “.txt“3.以下选项中不正确的常量是_。A)a B)a C)5 D)“b“4下列不正确的转义字符是 。A) B) C)074 D)05.C 语言程序设计中可以对程序进行注释,注释部分可以用_符号括起来。A) B) C)/* */ D) */ /* 6.在一个 C 程序中,main 函数出现的位置是 。A)必须在程序的最后面 B)可以在任意地方C)必须在程序的最前面 D)必须在系统调用的库函数的后面7.若已定义 x 和 y 为 double 类型,则表达式 x=2,y=x+3/2 的值是 。A)3.500000 B)3
3、 C)2.000000 D)3.0000008.设 x、y 均为 float 类型变量,下面不正确的赋值语句是 。A)x=x+1; B)y=(x%2)/10; C)x*=y+8; D)x=y=0; 9.若有以下定义,则能使其值为 3 的表达式是 。int k=7,x=12;A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5)10若有以下定义和语句,则输出结果是 。char c1=b,c2=e; printf(“%d%,%cn“,c2-c1,c2-a+A);A)%3,E B)3%,E C)2%,E D)%2,E 11设 x、y 和 z 是 int
4、 型变量,且 x3,y4,z5,则下面表达式中值为 0 的是 。A)“x“printf(“y=%-8ldn“,y);printf(“y=%-08ldn“,y);printf(“y=%08ldn“,y);printf(“y=%+8ldn“,y);A) y=-43456 B) y=-43456 y=-43456 y=-43456y=-0043456 y=-0043456y=-43456 y=+-43456C) y=-43456 D)y=-43456 y=-43456 y=-0043456y=-0043456 y=00043456y=-43456 y=+4345613.设整型变量 s,t,c1,c2
5、,c3,c4 的值均为 2,则执行语句( s=c1= =c2)|(t=c3c4)后,s,t 的值为 。A)1,2 B)1,1 C)0,1 D)1,014阅读以下程序,当输入数据的形式为 25,13,10,正确的输出结果为 。#include main() int x,y,z;scanf(“%d%d%d“,printf(“x+y+z=%dn“,x+y+z);专业班级: 姓名: 学号: 密封线专业班级: 姓名: 学号: 密封线C 语言程序设计试卷 第 2 页(共 7 页)A)x+y+z=48 B)x+y+z=35 C)x+z=35 D) 不确定值15若 k=4,a=3,b=2,c=1,则表达式 k
6、(注:表示空格) ,程序执行后的输出结果是 。A)another number B)another number another C)another number number D)number number 17if 语句的基本形式是:if(表达式)语句,以下关于“表达式 ”值的叙述中正确的是 。A)必须是逻辑值 B)必须是整数值 C)必须是正数 D)可以是任意合法的数值18.下面程序段的运行结果是 。char c=“tv0willn“;printf(“%d“,strlen(c);A)14 B)3 C)9 D)字符串中有非法字符,输出值不确定19.在函数调用时,若实参为变量,则下列关于函数形
7、参和实参的叙述中正确的是 。A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元20下面关于函数参数的说法不正确的是 。A)形参可以是常量、变量或表达式 B)实参可以是常量、变量或表达式C)在带参函数的定义中,必须指定形参的类型 D)形参应与其对应的实参类型一致21以下程序的输出结果是 。#include #define MIN(x,y) (x)#includemain() int *a,*b,*c;a=b=c=(int*)malloc(sizeof(int); *a=1;*b=2;
8、*c=3;a=b;C 语言程序设计试卷 第 3 页(共 7 页)printf(“%d,%d,%dn“,*a,*b,*c);程序运行后的输出结果是 。A)3,3,3 B)2,2,3 C)1,2,3 D)1,1,325. 以下程序的输出结果是 。struct st int x;int *y;*p;int dt4=10,20,30,40;struct st aa4=50,main() p=aa;printf(“%d “,+p-x);printf(“%d “,(+p)-x);printf(“%dn“,+(*p-y);A)10 20 20 B)51 60 21 C)51 60 11 D)60 70 31
9、26.设有定义:struct char mark12;int num1;double num2; t1,t2;,若变量均已正确赋初值,则以下语句中错误的是 。A)t1=t2; B)t2.num1=t1.num1; C)t2.mark=t1.mark; D)t2.num2=t1.num2;27.有以下程序:#includeint f(int x);main()int n=1,m;m=f(f(f(n);printf(“%dn“,m);int f(int x)return x*2;程序运行后的输出结果是 。A)1 B)2 C)4 D)828. 有以下程序#include struct ordint
10、x,y;dt2=1,2,3,4;main()struct ord *p=dt;printf(“%d,“,+(p-x);printf(“%dn“,+(p-y);程序运行后的输出结果是 。A)1,2 B)4,1 C)3,4 D)2,329. 有以下程序#include main()unsigned char a=8,c;c=a3;printf(“%dn“,c);程序运行后的输出结果是 。A)32 B)16 C)1 D)030.设 fp 已定义,执行语句 fp=fopen(“file“,“w“);后,以下针对文本文件 file 操作叙述的选项中正确的是 。C 语言程序设计试卷 第 4 页(共 7 页
11、)A)写操作结束后可以从头开始读 B)只能写不能读C)可以在原有内容后追加写 D)可以随意读和写二、填空题(每空 2 分,共 20 分)。 31.一个最简单的 C 语言程序至少应包含一个 【1】 函数。32.若 a 是 int 型变量,且 a 的初值为 3,则计算表达式 a+=a-=a*a 后 a 的值为 【2】 。33.若 x=2,y=3,则 xprintf(“%dn“,MAX(i,j);36.下面程序的功能是:输出 100 以内能被 3 整除且个位数为 9 的所有整数,请填空。main() int i,j;for(i=0; 【6】 ;i+)j=i*10+9;if(j%3!=0)contin
12、ue;printf(“%d“,j);37.用 for 循环打印 1 4 7 10 13 16 19 22 25,请完善 printf 函数。for(i=1;imain()char a80,*p=“AbabCDcd“;int i=0,j=0;while (*(p+)!=0)if(*p=astruct NODE *link;main()struct NODE m5,*p=m,*q=m+4;int i=0;while(p!=q)p-k=+i;p+;q-k=i+;q-;q-k=i;for(i=0;i#include #define N 100main() int i,j,n;char strN=“as
13、dfsdfsdf“,ch;n=strlen(str);for(i=1;i=0) | (ch# include /*found*/double fun(double b,x0)double x1,y;x1=(x0+b/x0)/2.0;/*found*/if(abs(x1-x0)=1e-6)y=fun(b,x1);elsey=x1;return y;main()double n;printf(“Enter n: “);scanf(“%lf“,printf(“The square root of %lf is %lfn“,n,fun(n,1.0);43. 函数 fun 的功能是:从 3 个红球、5
14、个白球和 6 个黑球中任意取出 8 个作为一组,进行输出。在每组中,可以没有黑球,但必须要有红球和白球。组合数作为函数值返回,正确的组合数应该是 15。程序中 i 的值代表红球数,j 的值代表白球数,k的值代表黑球数。#include int fun()int i,j,k,sum=0;C 语言程序设计试卷 第 6 页(共 7 页)printf(“The result :nn“);/*found*/for(i=0;i=0long t=1;/*found*/for(i=1;iint fun(int a,int b)int r,t;if(a#include #define N 80int fun(char *s)main()char lineN;int num=0;printf(“Enter a string:n“);gets(line);num=fun(line);printf(“The number of word is:%dnn“,num);