1章 C语言概述
【习题1-1简述C语言的特点。
答:C语言的特点:C语言简洁、紧凑、使用灵活、方便;运算符丰富;数据结构丰富;C是结构式语言;C语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址;C语言程序生成代码质量高;C语言适用范围大,可移植性好。
【习题1-2简述上机调试运行C程序的操作步骤。
答:上机运行C语言程序的操作步骤为:启动Visual C++ 6.0→建立工程→创建源程序文件→输入(编辑)源程序内容→保存源程序文件→编译源程序文件→连接目标程序→执行程序→开始另一个程序。
【习题1-3上机运行本章的3个例题。
答:略。
【习题1-4请从以下的4个选项中选择一个正确答案。
1A    2A    3C    4B
【习题1-5参照本章例题,编写一个C语言程序,输出以下信息:
**************
Nice to meet you!
**************
编写程序如下:
#include<stdio.h>
void main()
{
  printf("**************\n");
printf("Nice to meet you!\n");
  printf("**************\n");
}
2章 基本数据类型和运算符
【习题2-1上机编辑并调试本章所有例题。
答:略。
【习题2-2下面哪些是合法的常量?
20  0.5  012  13e5.1  E-5  8e4  5.  0x6a
'mn'  "OK"  "a"  '\012'  "a/b"  '\\'
答:⑴合法的常量有:20  0.5  012  8e4  5.  0x6a
⑵合法的常量有: "OK"  "a"  '\012'  "a/b"  '\\'
【习题2-3下面的变量名中哪些是合法的?
A&b  abc123  abc%  AbC  a_b_c
int  _abc  123abc  a\b?c
a bc  a*bc  'a'bc
答:合法的变量名有:abc123  AbC  a_b_c  _abc
【习题2-4指出下面的变量定义哪些是正确的,哪些是不正确的,为什么?
Int i,j;
float a,b;
int a,b;float a,b;
float a,int b;
char 'a';
答:⑴错误,因为关键字Int应该全为小写字母
⑵正确
⑶错,因为同一变量在程序的同一处不应该声明为不同的数据类型
⑷错,因为不同类型的变量要分别声明,其间应使用分号,而不是逗号
⑸错,'a'表示字符常量,不能用作变量名
【习题2-5把下列数学式子写成C语言表达式。
13.26ex+(a+b)4
2
3
42πr+πr2+cos(45°)
5
对应的C语言表达式分别为:
13.26*exp(x)+1.0/3*pow(a+b,4)
22*sqrt(x)+(a+b)/(3*sin(x))
3g*m1*m2/(r*r)
42*3.14*r+3.14*r*r+cos(3.14/180*45)
5loan*rate*pow(1+ rate, month)/(pow(1+rate, month)-1)
【习题2-6C语言中为什么要引入转义字符?
c语言字符常量有哪些答:在字符集中,有一类字符具有这样的特性:当从键盘上输入这个字符时,显示器上就可以显示这个字符,即输入什么就显示什么。这类字符称为可显示字符,如ab$等。但另一类字符却没有这种特性。它们或者在键盘上不到对应的一个键,或者当按键以后不能显示键面上的字符,为了解决这一问题,在C语言中引入了转义字符。
【习题2-7逻辑表达式的值是什么?只能用10才能表示真值和假值吗?
答:逻辑表达式的值是一个逻辑量“真”或者“假”,不是只有用1表示真值,用0表示假值,在判断一个量为真假时,常以0表示假,以非0表示真。
【习题2-8对于表达式(1+2)*(y=3),可以肯定(1+2)先计算,而(y=3)后计算吗?
答:不能。
【习题2-9 &&”和“‖”严格地执行运算符优先级的规则吗?它的规则是什么?
答:逻辑运算符不按照规定的优先级计算。在逻辑表达式的求值过程中,如果从“&&”或“‖”左边的运算对象部分已经能够确定整个逻辑表达式的值,则不再求右边运算对象的值,这样做提高了运算速度。具体地说:若“&&”的左运算对象值为0,则不再对右运算对象求值,因整个式子的结果必定为0。若“‖”的左运算对象值为非0,则不再对右运算对象求值,因整个式子的结果必定为1。以上所说的这种运算的规则是C对逻辑运算的特殊处理规则。它严格地执行从左到右运算的规则,不受运算符优先级所影响。
【习题2-10字符常量和字符串常量有什么区别?
答:字符常量和字符串常量的区别:
从形式上看,字符常量使用单引号,而字符串常量使用双引号。
从内部存储来看,编译程序在每个字符串的尾部自动加上了一个空字符NULL(\0’)作为字符串的结束标志,而字符常量则不存在这种情况。
【习题2-11将下面语句组进行简写。
int i;
    int j;
x=0;
    y=0;
x=x+y;
int x,y;
    x=y-(y/10)*10;
int x;
    x=x+1;
y=x;
    --x;
对应的简写语句分别为:
1int a,b;
2x=y=0;
3x+=y;
4int x,y;
    x=y%10;
5int x;
    x++; x+=1; ++x;
6y=x--;
【习题2-12写出下面程序运行后的结果。
程序运行结果:
2,3
程序运行结果:
y=5.000000
程序运行结果:
ch1=65,ch2=97
B,b
程序运行结果:
0,48
程序运行结果:
0
2
2
1
程序运行结果:
a,A,32,32
程序运行结果:
0
1,6
0,15,15
程序运行结果:
2,2,1
1,2,1
0,2,2
-1,2,2
程序运行结果:
3
2
4
程序运行结果:
3
2
3,3
4
3,4,4
0
1
3章 顺序和选择结构程序设计
【习题3-1请从以下的4个选项中选择1个正确答案。
1. 结构化程序设计的三种基本结构是( )。
A. 函数结构、判断结构、选择结构    B.平行结构、嵌套结构、函数结构
C. 顺序结构、选择结构、循环结构    D.判断结构、嵌套结构、循环结构
【正确答案】 C
2. putchar( )函数可以向终端输出一个( )。
A. 整型变量表达式值                B. 实型变量值
      C. 字符串                              D. 字符或字符型变量值
【正确答案】 D
3. 若已定义 double y; 拟从键盘输入一个值赋给变量y,则正确的函数调用是( )。
A. scanf(%d, &y);                    B. scanf(%7.2f, &y);
      C. scanf(%lf, &y);                    D. scanf(%ld, &y);
【正确答案】 C
    4. 若有以下定义: float x; int a, b; 则正确的switch 语句是( )。
A. switch(x)                          B. switch(x)
      {  case 1.0:printf("*\n");              {  case 1,2:printf("*\n");
      case 2: printf("**\n")                      case 3:printf("**\n");
      }                                    }
C. switch(a+b)                        D. switch(a-b);
      {  case 1: printf("*\n") ;                {  case 1:printf("*\n");

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。