1、 C 语言 课程期中考试试卷 学号:_ 姓名:_ 成绩:说明:本试卷考试时间为 100 分钟一 . 在 A B C D 四 个 选 项 中 , 选 择 一 个 正 确 的 答 案 填 入 括 号 内 ( 30 分 )( )1、 在 C 语言中,合法的字符常量是_ A) AA B) A C) A D) “0“( )2、 设 有 int k=2; 则 执 行 printf(“%d”,k+);的 输 出 为 :A) 0 B) 1 C) 2 D) 3( )3、 在 while(!x)中 ,!x 与 _等 价 。A) x=0 B) x!=0 C) x=1 D) x!=1( ) 4、 设有声明 int v
2、alue=5;,则执行下列选项的赋值语句后,value 的值不等于 5 的是_。A.) value=value - 0; B) value=value - 0x30;C) value=value - 49; D) value=value - 060;( ) 5、 如 int k=7;float x=2.5,y=4.7; 则 表 达 式 x+k%3*(int)(x+y)%2/4 运算 后 的 值 是 :A) 0 B) 2 C) 2.5 D) 2.75( ) 6、 若有 int a,b;则语句:printf(“%d“,(a=2)的输出结果是:A)无输出 B)结果不确定 C)-1 D)1( ) 7、
3、 设 有 int a=2; 则 执 行 printf(“%d“,5a1);的 输 出 为 :A)0 B)1 C)2 D)3( ) 8、 执 行 语 句 c=(a=2,a+1,b=a+);后 , a,b,c 的 值 依 次 为 :A)2,3,4 B)3,3,3 C)4,5,4 D)3,2,2( )9、 以下程序的输出结果是A)2 0 B)3 1 C)3 2 1 D)2 1 0main( )22 int n=4;while(n-) printf(“%d “,-n);( )10、 以下叙述正确的是_A) do-while 语句构成的循环不能用其它语句构成的循环来代替。B) do-while 语句构成
4、的循环只能用 break 语句退出。C) 用 do-while 语句构成的循环,在 while 后的表达式为非零时结束循环。D) 用 do-while 语句构成的循环,在 while 后的表达式为零时结束循环。二 、 填 空 题 ( 共 30 分 , 第 六 题 10 分 )1. C 语 言 中 的 标 识 符 可 以 由 三 种 字 符 组 成 ,它 们 是 _字 母 、 _下 划 线 和 数 字 字 符 _。2. C 语 言 中 有 整 型 、 字 符 型 、 实 型 基 本 类 型 。3. 关 键 字 case 和 default 只 能 在 _switch_ 语 句 中 出 现 。4.
5、 表 达 式 (a 3*5,a*4), a+5 的 值 是 20 。5. C 语 言 中 的 三 种 基 本 结 构 是 顺 序 结 构 、 选 择 结 构 、 循 环 结 构 。6. 用递推法求 11/2!1/3!1/4! 的前 30 项之和。main() int n=1,i;float t=1,s=0;for(i=1; imain() int n1,n2,n3; char ch;n1=n2=n3=0;while(c=getchar()!=n)if(c=Ak-)printf(“ “);for(j=1;j=(2*i-1);j+)printf(“%c“,*);printf(“n“);for(i=1;i=3;i+)for(k=1;ki;k+)printf(“ “);for(j=1;j=(2*i-1);j+)printf(“%c“,*);printf(“n“);_