C语言上机一 数据类型、运算符及简单C程序
上机内容
完成实验指导书P255-258页实验二的实验内容:(1)、(2)、(3)、(4)及
及259页实验3的实验内容(1),(2)(4)(,编程部分可参考习题解答,以上内容不需要写在上机报告中)
一、选择
1数据类型
(1)C语言程序的基本单位是_C_ A) 程序行 B) 语句 C) 函数 D) 字符
(2)C语言可执行程序的开始执行点是__C__
A) 程序中第一条可执行语句 B) 程序中第一个函数
C) 程序中的main函数 D) 包含文件中的第一个函数
(3)C语言提供的合法的数据类型关键字是__BD__ A)double B) short C) integer D) char
(4)C语言中最简单的数据类型包括 B
A) 整型、实型、逻辑型 B) 整型、实型、字符型
C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型
(5)x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是 B
A) input x, y, z; B) scanf("%d %d %d", &x, &y, &z);
C) scanf("%d %d %d", x, y, z); D) read("%d %d %d", &x, &y, &z);
(6)若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是 D
A) a的值是字符C B) a的值是浮点型 //char存的是ASCII码
C) 不允许字符型和浮点型相加 D) a的值是字符‘A’的ASCII值加上1
(7) 下面不是C语言基本数据类型的是_A_?//指针类型为派生类型
A) 指针类型 B)整型
C)无符号长整型 D)单精度实型
(8) 可以在C程序中用作标识符的一组是___B___//define为关键字
A) if , define , BYED B) bb_b3, _1234, If
C) FFF, FOR, -bcd D) 3d, DM , SSII
2运算符
(1)若int类型占两个字节,int k=-1; printf("%d,u%",k,k); 则上述语句输出为___D___。
A、-1,-1 B、-1,65536 C、-1,32768 D、-1,65535
(2)以下定义和语句 char c1='b', c2='e'; printf("%d,%c", c2-c1, c2-'a'+’A’); 的输出结果是:B
A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定
(3)程序片段:在TC2.0中, int i=65536; printf("%d",i);的输出结果是__B__
A) 65536 B) 0 C) 有语法错误,无输出结果 D) -1 (参考课本P44页)
(5)假定有以下变量定义: int k=7 ,x=12; 则能使值为3的表达式是__D__
A x%=(k%=5) B x%=(k-k%5) C x%=k-k%5 D (x%=k)-(k%=5)
(6)请选出合法的C语言赋值语句 B
A) int a=b=58; B) i++; C) a=58,b=58; D) k=int(a+b);
(7) 若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是 C
A) -3B) 9 C) -12 D) 6
(8) 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是 C
A)1 B)2 C)2.0 D)2.5
(9) 若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是 A
A) 0 B) 0.5 C) 1 D) 2
(10) 若有以下定义: char a; int b; float c; double d; 则表达式a*b+d-c值的类型D
A) float B) int C) char D) double
//“*” “/”返回的为double,而float会先变为double再计算,所以总返回为double
二、阅读以下程序,并将程序行的注释补充完整,上机执行后,写出执行结果。
1) main(){
int x,y,z; // 定义三个整变量x,y,z
scanf("%d %d %d",&x,&y,&z);
// 输入三个数据形如x y z,放在整形