当前位置:文档之家› c语言试题1有答案

c语言试题1有答案

、单项选择题(每题 2分,15小题,共30分)8.若 w=1,x=2,y=3,z=4 ,则条件表达式 w<x ? w : y<z ? y : z 的值是 ___________________A) 4 B) 3 C) 2 D) 1 9 .设 int a=0,b=0,m=0,n=0; 则执行(m = a==b)||(n = b==a) 后 m 和 n 的值分别是10. _________________________________ 以下for 循环的执行次数是 。

for (x=0,y=0; (y=123)&&(x<4);x++);A)无限循环 B)循环次数不定C) 4次11. _______________________________ 下面程序段的输出结果是 。

char a[7]="abcdef";char b[4]="ABC"; strcpy(a,b); prin tf("%c",a [ 5]);A) LJ B) \0 C) e 12. 有以下程序: char f(char x , char y){ if(x>y) retur n y;else return x; }1. C 语言源程序是由组成的。

D)主程序和子程序A)有零个或多个输入 C)有穷性B)有零个或多个输出 D)可行性3 .以下选项中合法的 C 语言标识符是。

A) longB) _2TestC) 3DmaxD) A.dat4 .下列转义字符中错误的是。

A) '\000' B) '\14' C) '\x111' D) '\2'A) 语法错误B) f 为5.0;的判断中, __________ 是正确的。

C) f 为 0.0 D) f 为 2.0 6 •若变量a , b 已经正确定义并赋值,符合A) a 2+b B) a*a+bC 语言语法的表达式是C) a x a+boD) a • a+b7 .有输入语句:scan f("a=%d,b=%d,c=%d",&a,&b,&c);则正确的数据输入方式是。

为使变量a 的值为1, b 的值为3,c 的值为2, A) 132 /C) a=1—b=3LJC=2 /B) 1,3,2 / D) a=1,b=3,c=2 /A) 0, 0B) 0, 1 C) 1, 0 D) 1, 1D) 3次D) fA 过程B)函数C)子程序2 .一个算法应该具有“确定性”等 5个特性,下面对另外 4个特性的描述中错误的是 _____________5 .对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0)void mai n(){ int a= ' 9' ,b= ' 8' ,c= ' 7' ,d= ' 6'; printf( “ %c\n”,f(f(a,b),f(c,d)));}程序的执行结果是__________ 。

A) 9 B) 8 C) 7 D) 613. 若有宏定义#define MOD(x,y) x%y _____________ ,则下面程序段执行后的输出结果是int 乙a=15; float b=100;z=MOD(b,a);prin tf("%d\n",z++);A) 11 B) 10 C) 6 D) 有语法错误14 .sizeof(float) 是。

A) 一种函数调用B) 一个整型表达式C) 一个不合法的表达式D) 一个浮点表达式15 .以“只读”方式打开文本文件a:\aa.dat, 下列语句中是正确的。

A) fp=fope n( “ a:\\aa.dat “,“ab “); B) fp=fope n( “ a:\aa.dat“,“a“)C) fp=fope n( “ a:\aa.dat “,“ wb“);D) fp=fope n( “ a:\\aa.data a a,r_、填空题(每空1分,20小空,共20分)1.函数体一般包括和两部分。

2 .字符常量使用一对 _____________ 界定单个字符,而字符串常量使用一对_______________ 来界定若干个字符的序列。

3 .数学式子3ae的C语言表达式为 _____________________________________ 。

bc4 •已知x是一个四位十进制数,则它的百位数的表达式是__________________________ ,则它的十位数的表达式是______________________,则它的个位数的表达式是_______________________ 。

5.语句printf("s%s","mall"); 的输出结果为___________ 。

6 .已知x、y分别为a、b、c中的最大、最小值,求a、b、c中中间值的表达式为_________________________________________________________ 。

7 .判断变量a、b、c的值是否是等差数列中连续三项的表达式为__________________________________________________________________________ 。

8.若声明char a[]="wi ndows" , b[]="9x" ;则执行语句prin tf("%s",strcat(a,b)); 的输出结果为_________________________________ 。

9 .被调用函数执行结束时,此函数中定义的 ____________________________ 类型的变量不被释放。

10. 设int a : 10: ={1,2,3}; 则*(a+3)的值是_____________________ 。

11. 设struct stude nt{ int no ;char n ame[12];char sex;float score[4];}stu1;在程序执行时,系统为stul分配 _________________ 个字节的内存空间。

12. C语言函数返回类型的默认定义类型—。

13 .若x=0123,则表达式(5+(int)(x))&(~2) 的值是 ______________________ 。

14. 表达式((4|1)&3) _______ 的值为。

15 •将文件指针移到文件开始的函数是 __________________________ ,将文件指针移到文件结束的函数三、综合题(每题6分,5小题,共30分)1•写出下面程序执行后的运行结果。

#i nclude <stdio.h>void mai n(){ int i,j,m ,n;i=8; j=10; m=++i; n =j++;prin tf("%d,%d,%d,%d",i,j,m, n);}2 •写出下面程序执行后的运行结果。

#i nclude <stdio.h>void mai n(){ int a,b,c;a=10;b=20;c=30;a=(__b<=a)||(a+b!=c);prin tf("%d,%d\n",a,b);}3 •写出下面程序的运行结果。

#i nclude <stdio.h>void mai n(){int a=10,y=0 ;do {a+=2 ; y+=a ;if (y>50) break ;} while (a=14);prin tf("a=%d i_iy=%d\n",a,y);}4 •下面函数为:求出数组中的最大数和次最大数,并把最大数和数组中的第0个元素对调,把次最大数和数组中的第1个元素对调;判断程序中的正误,并改正错误。

#defi ne N 20void fun(int a[N],int n)int k , ml , m2 , maxi, max2 ,t ; maxi = max2 = a[0];for (k=1 ; k<n ; k++)if (a[k]>max1) { max2=max1 ; m1=m2 ; max1=a[k] ; m2=k ;}else if (a[k]>max2) { max2=a[k] ; m2=k ;}t = a[0] , a[m1]=a[0], a[m1]=t ;t = a[1] , a[m2]=a[1], a[m2]=t ;}5 •设a、b、c为三角形三条边长,以下程序用于判断a、b、c能否构成三角形,若能输出YES否则输出NQ请填(2)空使程序完整。

#i nclude <stdio.h>void mai n(){ float a,b,c;scanf(”【1 _______________________ 】",&a,&b,&c);if(【2 _________________________】)printf("YES\n");else prin tf("NQ\n");}四、编程题(每题10分,2小题,共20 分)1.常见的钟表一般都有时针和分针,在任意时刻时针和分针都形成一定夹角;现已知当前的时刻,编程求出该时刻时针和分针的夹角(该夹角大小w 180°);输入:当前时刻值,格式为“小时:分”例如:11:12 。

2 .计算500〜800区间内素数的个数ent,并按所求素数的值从大到小的顺序之和,即第 1 个素数-第2个素数+第3个素数-第4个素数+第5个素数... 被 1 和自己整除的数,也称为质数)西北工业大学考试试题( B 卷)答案一、单项选择题(每题2分,15小题,共30分)评分标准:题号答案题号答案题号答案 1 A 6 C 11 C2 D 7 D 12 D3 C 8 B 13 A , 再计算其间隔减、加的值sum。

(素数为只能4 A 9 B 14 B5 D 10 C 15 D),合计本题得分并记录在得分栏上阅卷说明:错画叉(),对画钩(二、填空题(每空1分,20空,共20分)评分标准:题号答案备注1 函数2 字母或下划线仅有字母、下划线算错3 324 1.0/2.0*(a*x+(a+x)/(4*a))可能还有其他写法(需判断)5 826 4.0 4算对7 函数函数调用8 x<0&&y<0||x<0&&z<0||y<0&&z<0 可能还有其他写法(需判断)9 gets(S1); 分号不写算对,S1小写算对10 711 5432165432112 0a[2][1]13实参变量的值或值实参数组的起始地址或地址表示“值”的说法均算对表示“地址”的说法均算对14 auto 自动15 016 24 3*sizeof(double)算对阅卷说明:错画叉(),对画钩(),合计本题得分并记录在得分栏上三、综合题(每题6分,5小题,共30分)评分标准:题号答案1 7 11 14 21 22 28评分标准在相应位置上答对1个数给1分,答错1个数减1分2 8,17评分标准仅答对8给3分,仅答对17给3分,少写或写错逗号减1分3 AABD评分标准第1、4个字母答对给3分,第2、3个字母答对给3分4 char s1[30],s2[]="world" 错在s1 的定义上s1[i]='\0:错在s1的下标上return ; 错在给了返回值上评分标准每个错误2分,答对给,答错减5 k=0istu[k]. name, stu[k].age 次序错减1 分评分标准每个空2分,答对给,答错减阅卷说明:每个细节小分错画叉( ),全错画一个叉( ),全对画一个钩( ),且在每个小题旁边写上该小题得分,合计本题得分并记录在得分栏上四、编程题(每题10分,2小题,共20分)1 .参考程序#i nclude <stdio.h>void mai n(){long i;double s=1.0,n=2;for(i=1;i<=10000;i++){s=s* n*n/((n-1)*( n+1));n+=2;}prin tf("PI=%11.9lf\n",s*2);}评分标准:项目评分细节分值1 ma in 函数及#i nclude 1 分2 变量定义1分3 循环语句1分4 循环语句结束条件 1 分5 S计算式2分6 n值增量计算1分7 PI结果表达式s*2 1 分8 printf 输出2分阅卷说明:每个细节错画叉(),对画钩(),半对画半钩(),叉和钩的总数应为8个,且在该题右上角写上该题得分。

相关主题