C语言习题
习题1
1.程序设计语言经历了哪三个主要阶段?每个阶段有何特点? 2.C语言有哪些特点?这些特点你是怎样理解的? 3.用一个事例简述C语言程序的基本结构。
4.下列标识符哪些合法,哪些非法,若是非法的要指明其原因。
3H_R _3H_R _3H&R H3R if D.K.Jon a*b2 Sstu 5.单项选择题。
(1)C语言是一种 。
A.机器语言 B.汇编语言 C.高级语言 D.以上都不是 (2)C程序总是从 开始执行。
A.程序中的第一条语句 B.程序中第一条可执行语句
C.程序中的第一个函数 D.程序中的main函数 (3)下列叙述正确的是 。
A.C语言源程序可以直接在Windows环境下运行
B.编译C语言源程序得到目标程序可以直接在Windows环境下运行 C.C语言源程序经过编译、连接得到可执行程序可以运行 D.以上说法都是正确的 6.判断题。
(1)主函数是系统提供的标准函数。
(2)一个C程序可以有一个或多个主函数。 (3)C程序首先执行程序的第一个函数。
(4)调用大多数C语言标准函数,可以不使用包含命令。 (5)C语言允许多条语句写在同一行。
(6)语句“int number;”和“int Number”定义的是同一个整形变量。 7.参考本章例题,编写下列程序。
(1)编写一个C程序,要求在屏幕上打印以下信息:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
我是一名大学生 我热爱我的学校
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
(2)通过键盘输入一个实数,要求在屏幕上输出该数的平方值(提示数x的平方可用x*x来表示)。 8.分析程序运行结果
程序1代码:#include
int main() {
int r; float l,s; r=5;
l=2*3.14159*r; s=3.14159*r*r;
printf(\ return 0; }
程序2代码:#include
int main() {
int a,b,c; float aver;
printf(\请输入三个数a,b,c:\ scanf(\ aver=(a+b+c)/3;
printf(\ return 0;
}
程序3代码:#include
int main() {
int x,y; float area;
printf(\ scanf(\ area=x*y;
printf(\ return 0; }
习题2
1.在C语言中,下列哪个是合法的实型常量( )。
A.356e B.e-5 C.12.5e3 D.256 2.C语言中要求运算量必须是整型的运算符是( )。
A.+ B./ C.% D.- 3.能正确表达逻辑关系“a>=5或a
A&#xff0e;a>&#61;5 or a<&#61;-3 B&#xff0e;a>&#61;5 || a<&#61;-3 C&#xff0e;a>&#61;5 && a<&#61;-3 D&#xff0e;a>&#61;5 | a<&#61;-3
4&#xff0e;已知字母A的ASCII码值为十进制数65&#xff0c;设ch为字符型变量&#xff0c;则表达式ch&#61;?A?&#43;?6?-?3?的值为 。 5&#xff0e;设a、b、c为整型变量&#xff0c;初值为a&#61;5&#xff0c;b&#61;3&#xff0c;执行完语句c&#61;(a>b)&#xff1f;b : a后&#xff0c;c的值为 。 6&#xff0e;写出下列程序的运行结果。 #include void main() {
int a,b,c; a&#61;10; b&#61;20; c&#61;30;
printf(\}
7&#xff0e;写出下列程序的运行结果。 #include void main() {
int x&#61;10,y&#61;20,m,n; m&#61; --x; n&#61; y--;
printf(\}
8&#xff0e;设a&#61;3&#xff0c;b&#61;10&#xff0c;写出下面算术表达式的值。
(1)b/a &#43; a (2)(b % a &#43; b) / a 9&#xff0e;设a&#61;3&#xff0c;b&#61;4&#xff0c;c&#61;5&#xff0c;写出下面逻辑表达式的值。
(1)a &#43; b>c || a &#61; &#61; c (2)!(a &#61; &#61; b) && (b &#61; &#61; c) (3)!(a&#43;b-c) && (b-c) (4)(a>c)||(a-c)
10&#xff0e;编写程序&#xff0c;从键盘输入三角形底边和高&#xff0c;输出三角形的面积。 11&#xff0e;编写程序&#xff0c;输入两个整数&#xff0c;求出它们的商数和余数并输出结果。 12&#xff0e;编写程序&#xff0c;输入三个整数&#xff0c;输出它们的最大值。 13&#xff0e;分析程序运行结果。
(1)分析下面程序的运行结果。 #includeint main() {
int x,y; x&#61;20;
y&#61;(x&#61;x-5.0/5); printf(\return 0; }
根据编译、连接和运行回答下列问题&#xff1a;
① 在编译时&#xff0c;有一个警告错误提示&#xff0c;其提示内容是什么&#xff1f;是否影响该程序的连接&#xff1f; ② 分析表达式的执行过程&#xff1f;并说明5.0与5的含义&#xff1f; (2)分析下面的程序&#xff0c;写出运行结果。 #includeint main() {
int i,j,m,n; i&#61;5; j&#61;15; m&#61;i&#43;&#43;; n&#61;&#43;&#43;j;
printf(“i&#61;%d, j&#61;%d, m&#61;%d, n&#61;%d\\n”,i,j,m,n); return 0; }
根据编译、连接和运行回答下列问题&#xff1a; ① 写出程序运行的结果&#xff1f; ② 分析表达式m&#61;i&#43;&#43;和n&#61;&#43;&#43;j的执行过程及有所区别&#xff1f;
(3)下面的程序是输入一个字符&#xff0c;判断它是否为大写字母&#xff0c;如果是将把它转换成小写字母&#xff1b;如果不是不进行转换&#xff0c;最后输出这个字符。
#includeint main() {
char ch;
scanf(\
ch&#61;(ch>&#61;&#39;A&#39;&&ch<&#61;&#39;Z&#39;)?(ch&#43;32):ch; printf(\return 0; }
根据编译、连接和运行回答下列问题&#xff1a;
① 本程序运用的是格式输入输出&#xff0c;若修改为getchar()和putchar()&#xff0c;则程序如何&#xff1f; ② 分析表达式ch&#61;(ch>&#61;&#39;A&#39;&&ch<&#61;&#39;Z&#39;)?(ch&#43;32):ch;的执行过程&#xff1f;若用户输入B&#xff0c;则输出什么&#xff1f;若用户输入b&#xff0c;则输出什么&#xff1f;
(4)上机运行程序&#xff1a; #include#define PRICE 35 int main() {
int x&#61;10;
PRICE&#61;PRICE*x;
printf(\ return 0; }
根据编译、连接和运行回答下列问题&#xff1a;
① 编译时是否有错误信息提示&#xff0c;有请分析提示信息的含义&#xff1f;并修改后重新编译&#xff0c;直到没有错误为止。 ② #define PRICE 35的含义&#xff1f;若x表明购买商品的件数&#xff0c;PRICE表明是该商品的价格&#xff0c;则该程序实现什么功能&#xff1f;
习题3
1&#xff0e;C语言所有的输入/输出函数都包含在头文件 中。 2&#xff0e;下面选项中不是C语句的是( )。
A&#xff0e;{int a&#61;10&#xff1b; printf(\&#xff1b;} B&#xff0e; &#xff1b; C&#xff0e;x&#61;65 D&#xff0e;{&#xff1b;} 3&#xff0e;有如下程序片段&#xff0c;则下列说法正确的是( )。 float a&#61;-1234.53689; printf(\
A&#xff0e;输出格式描述符的域宽不够&#xff0c;不能输出 B&#xff0e;输出-1234.53
C&#xff0e;输出-1234.54 D&#xff0e;输出1234.53
4&#xff0e;当执行完以下语句后&#xff0c;变量a、b、c、d、e的值分别是多少&#xff1f; a&#61;8; b&#61;&#43;&#43;a; c&#61;--a; d&#61;a&#43;&#43;; e&#61;a--;
5&#xff0e;写出下列程序的运行结果。
#include int main() {
int a&#61;2,b; char c&#61;&#39;A&#39;; b&#61;c&#43;a;
printf(\ return 0; }
6&#xff0e;写出下列程序的运行结果。
#include int main() {
int a&#61;2,b&#61;5; a&#61;a&#43;b; b&#61;a-b; a&#61;a-b;
printf(\ return 0; }
7&#xff0e;分析下列程序。
#include int main() {
char ch;
ch&#61;getchar(); putchar(ch);
printf(\的ASCII码为:%d\\n\ return 0; }
(1)如果输入数据“a”&#xff0c;得到什么结果&#xff1f; (2)如果输入数据“ab”&#xff0c;得到什么结果&#xff1f;
8&#xff0e;用下面的scanf函数输入数据&#xff0c;使a&#61;2&#xff0c;b&#61;5&#xff0c;c1&#61;&#39;a&#39;&#xff0c;c2&#61;&#39;b&#39;&#xff0c;x&#61;3.5&#xff0c;y&#61;56.88。请问在键盘上如何输入&#xff1f;
#include int main() {
int a,b; char c1,c2; float x,y;
scanf(\ scanf(\ scanf(\
printf(\ return 0; }
9&#xff0e;编写程序&#xff0c;用getchar函数读入两个字符赋值给变量c1、c2&#xff0c;然后分别用putchar函数和printf函数输出这两个字符。
10&#xff0e;输入三角形三边长&#xff0c;求三角形面积&#xff0c;输出计算结果。输出时要有文字说明&#xff0c;取小数点后2位小数。已知三角形的三边长求三角形面积的公式为&#xff1a;
area&#61;s(s?a)(s?b)(s?c)&#xff0c;其中a、b、c分别为三角形的三边&#xff0c;s&#61;(a&#43;b&#43;c)/2。 11&#xff0e;编写程序&#xff0c;输入一个3位数将它反向输出。例如输入123&#xff0c;输出321。 12&#xff0e;分析程序运行结果
【程序1】 分析下列程序&#xff0c;并上机运行。 #include\int main() {
long x,y; int a,b,c,d; x&#61;5; y&#61;6; a&#61;7; b&#61;8; c&#61;x&#43;a; d&#61;y&#43;b;
printf(\return 0; }
根据编译、连接和运行回答下列问题&#xff1a;
① printf(\语句中c&#61;x&#43;a&#61;的含义&#xff1b;d&#61;y&#43;b&#61;的含义&#xff1b;%d的含义&#xff1b;c,d的含义。 ② x,y和a,b,c,d的数据类型是否相同&#xff1f;它们是怎样进行数据类型转换的和运算的&#xff1f;
③ 将%d修改为%ld后再编译、连接和运行程序&#xff0c;比较两个程序运行的结果是否一致&#xff0c;并说明它们两者间有无区别。
【程序2】 分析下列程序&#xff0c;并上机运行。
#include\
int main() {
int a,b,c; a&#61;5;b&#61;6;c&#61;7;
printf(\ ab c\\tde\\rf\\n\printf(\return 0; }
根据编译、连接和运行回答下列问题&#xff1a;