《C程序设计》课外作业及参考答案
说明: (1)章节顺序按照PowerPoint电子教案;
(2)教材上的作业注明了章节和题号;
(3)所用教材是《C程序设计(第二版)》 谭浩强 清华大学出版社;
第一章 C语言概述
1.1 简答题:写出C语言的主要特点(教材习题1.1)。
1.2 填空题:
1. C语言与 操作系统并称“栾生兄弟”。
2. C语言俗称为 形式。
3. C源程序文件经过 处理后产生目标文件,目标文件经 处理后生成可执行文件。
1.3 单项选择题
1. 以下说法中正确的是 。
(A)C语言程序总是从第一个定义的函数开始执行
(B)在C语言程序中,要调用的函数必须在main函数中定义
(C)C语言程序总是main函数开始
(D)C语言程序中的main函数必须放在程序的开始部分
2. 以下正确的C标识符是 。
(A)_125 (B)C# (C)C++ (D) A$
1.4 多项选择题
1. 以下关于C语言的说法中,错误的是 。
(A)俗称为“低级语言的高级形式”,因此功能简单
(B)不是结构化程序设计语言
(C)可能直接访问内存
(D)语法限制不严
2. 以下标识符属于C语言关键字的有 。
(A)integer (B)else (C)include (D)while
第二章 displayblock演示C语言基本数据类型、变量、常量与表达式
2.1简答题
1. 求下面算术表达式的值。 (教材习题3.9)
a) x+a%3*(int)(x+y)%2/4
设x=2.5, a=7, y=4.7
b) (float)(a+b)/2+(int)x%(int)y
设a=2, b=3, x=3.5, y=2.5
2. 写出下面程序的运行结果。(教材习题3.10)
main()
{ int i, j, m, n;
i=8; j=10; m=++i; n=j++;
printf("%d,%d,%d,%d", i, j, m, n);
}
3. 写出下面表达式运算后a的值,设原来a=12。设a和n已定义为整型变量。(教材习题3.12)冒泡排序代码c语言
a) a+=a b) a-=2 c) a*=2+3
b) d) a/=a+a e) a%=(n%=2), n的值等于5 f) a+=a-=a*=a
4. C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?
2.2 填空题
1. 写出下面各逻辑表达式的值。设a=3, b=4, c=5。(教材习题5.3)
(1) a+b>c&&b==c (2) a||b+c&&b-c
(3) !(a>b)&&!c||1 (4) !(x=a)&&(y=b)&&0
(5) !(a+b)+c-1&&b+c/2
2. (1)5<<2 (2)0 ! = 1 (3)!!3
(4)105%10 (5)3/2*2 (6)5^3
(7)1<2<0 (8) 1%22
3. 已知int a = 1, b = 2 , c; 执行下列语句后,写出各变量的值。
c = ++b―a++ ; 变量(1) a = ,(2) b= ,(3) c=
4. 数学式对应的C语言表达式是 。
5. 当算术表达式中出现了float型变量时,系统自动将该型变量值转换为 (1) 类型,然后参与运算,如果出现char型变量时,直接转换为 (2) 型参与运算。
2.3 单项选择题
1. C语言中,常量0.5F在内存需占用 字节存储。
(A) 1 (B)2 (C)4 (D)8
2. 下列符号中,合法的C常量是 。
(A)097 (B)0.5e+1.0 (C)0x5FH (D) '\\'
3. C语言没有专门的逻辑变量,它表示逻辑真的方法是 。
(A)TRUE (B)0 (C)1 (D)一切非零数值
4. 以下C常量错误的是 。
(A)'\xX0d ' (B)1U (C)1e2F (D)010101
5. 以下不正确的字符串常量是 。
(A)"12'12" (B)'abc' (C)"\\0"图文制作小程序 (D) ""
6. 逻辑运算符两侧运算对象的数据类型 。
(A)只能是0或非0正数 (B)可以是任何类型的数据。
(C)只能是整型或字符型数据。 (D)只能是0或1
7. 下列符号中,合法的C常量是 。斗地主html5代码
(A) ‘\t’ (B) 079 (C) 3.5e2.1 (D) 0xch
2.4 多项选择题
1. 以下变量在内存中占2个字节的是 。(只考虑TC2.0)
(A) int a; (B) int b[2]; (C)char c[2]; (D) float d[2];
2. C语言中,与常量 'A' 等效的常量表达式有 。
(A)65 (B)'\x41' (C)'a'-32 (D)0101
第三章 简单C程序设计
3.1 程序设计题
1. 输入一个华氏温度,要求输出摄氏温度。公式为
要求输出要有文字说明,取2位小数。(教材习题4.9)
2. 输入年增长率p, 编程计算并输出经过多少年后,生产总值会翻一翻。
3.2 单项选择题
1.已知实型变量a存贮的是一个0~1之间的实数,将a以两位小数百分比形式输出(如:a=0.347592,则输出为34.75%)正确的打印语句是 。
(A)printf(“%.2f%%”,a*100); (B)printf(“%.2f%”,a);
(C)printf(“%.2f%%”,a/100); (D)printf(“%.2f%%”,100*(a+0.5));
2. 能正确输出字符A的语句是 。
(A)putchar(‘\41’); (B)puthcar(“A”); (C)printf(“%d”, ‘A’); (D)putchar(‘\101’);
第四章 C语言的控制语句及基本程序设计技术(统计/计数、递推/迭代、数论问题、字符图形、搜索/穷举求解)
4.1 程序分析题
1. 若a=3, b=2, c=1, 则执行下列if语句后,依次写出a、b、c的值。
if (a>b) a=b;
if (b>c) b=c;
else c=b; c=a;
2. 执行下列程序后,x和y的值分别是多少。
int x,y;
for (y=1,x=1;y<=50;y++)
{ if (x>=10) break;
if(x%2= =1)
{x+=5; continue;}
x=3;
}
3. 写出以下程序的输出结果。
#include <stdio.h>
main()
{ int c='A',a=0,k=1;
while((k+=2)<8)
{ putchar(++c);a+=k;
ios网站资源大全 }
printf("%d\n",a);
return 1;
}
4. 下面程序的循环体共执行了多少次,输出的结果是什么?
#include "stdio.h"
void main()
{ int m,n;
m=10;n= 1;
do { m; n+=5;
if(!(n%3)) printf("%4d %4d\n",m,n);
} while(m>n);
}
5. 若输入为ABCD,下面程序的输出是什么?
#include <stdio.h>
void main()
{ char ch,n;
学编程能学到什么for(n=0;(ch=getchar())!=10;n++) putchar(ch+32);
printf("%d\n",n);
}
4.2 单项选择题
1. 以下程序的输出结果是 。
x=0;do printf(“%d”,x++); while(x<1);
(A)0 (B)01 (C)012 (D)无任何显示
2. 以下能正确计算10!的程序段是 。
(A) do{i=1;s=1;s=s*i; i++; }while(i<=10);
(B) do{i=1;s=0; s=s*i; i++;}while(i<=10);
(C) i=1;s=1; do{s=s*i; i++;}while(i<=10);
(D) i=1;s=0; do{ s=s*i; i++;}while(i<=10);
3. 若变量已有正确定义,程序 a=0; for (i=1; i<=n; i++) for (j=0; j<=i; j++) a++; 执行后,变量a的值是 。
(A)n (n +1 ) / 2 (B)( n + 1 ) ( n + 2 ) / 2
(C)n ( n-1) / 2 (D)n ( n + 3 ) / 2
4. 与语句if (a!=0) … 等效的语句是 。
(A)if (!a) … (B)if (a) … (C)if (a = = 0) … (D)if ( a>=0 | | a<=0 ) …
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论