C语言基本数据类型及运算题库

C)30,40<回车> D=30,<回车>40<回车> 答案:A

159. 若有说明语句:char ch=’65’;则变量ch 。 A)包含3个字符 B)包含2个字符

C)包含1个字符 D)说明不合法,变量值不确定 答案:C

160. 已知字母a的ASCII码为十进制的97,ch1为字符型变量,则执行语句ch1='a'+'7'-'5';后,ch1中的值为 。

A) 99 B)不确定的值 C) b D) c 答案:D

161. 假设变量a是整型,b是实型,c是双精度型,则表达式30+a+c*b的值的数据类型是 。

A) int B) float C) double D) 不确定 答案:C

162.若变量c为char类型,能正确判断出c为大写字母的表达式是 。 A) 'A'<=c<= 'Z' B) (c>= 'A')||(c<= 'Z') C) ('A'<=c) and ('Z'>=c) D) (c>= 'A')&&(c<= 'Z') 答案:D

163. 若有定义:int a=7;f1oat x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 。

A) 2.5 B) 2.7 C) 3.5 D) 4.7 答案:A

164.下列程序执行后的输出结果是 。

#include void main() {

int x= 'f';

printf(\}

A) G B) H C) I D) J 答案:A

165. 在C语言中(以TC编译系统为例),5种基本数据类型的存储空间长度的排列顺序为 。

A) char

166. 在c语言中,非char型数据在内存中的存储形式是 。 A) 补码 B) 反码 C) 原码 D) ASCII码 答案:A

167. 在c语言中,char型数据在内存中的存储形式是 。 A) 补码 B) 反码 C) 原码 D) ASCII码 答案:D

二、填空题

1. printf库函数的第一个参数中的格式串是指明输出数据格式,各种数据类型对应的基本格式串是:

short、int (1) , long (2) ,

float (3) 、 (4) , double (5) 、 (6) , char (7) 、 (8) , 字符串 (9) 。

答案:(1) %d (2)%Ld (3)%f (4)%e (5)%f

(6)%e (7) %c (8) %d (9)%s

2. scanf库函数格式串和输入项之间的关系是 。

答案:一一对应关系:格式串与输入项的个数要相同,顺序要一致,类型要匹配

3. 阅读下述程序功能:将三位整数n的十位数的数字变为0。例如,输入三位整数为738,输出为708。请将正确答案写在横线处。

# include void main( ) {

(1) ;

printf (“输入一个三位整数:”); scanf (“%d”,&n);

d2= (2) ; /* 取出百位数的数字 */ d0= (3) ; /* 取出个位数的数字 */ printf (“输出三位整数:%d\\n”, (4) ); }

答案:(1)int n,d2,d0 (2) d2=n/100 (3) d0=n (4)d2 * 100+d0

5. 若x为单精度型变量,y为字符型变量,z为整型变量,执行如下的输入语句:

scanf (“%f %c%d”,&x,&y,&z);后,从键盘输入12.77A79A86。此时,变量x、y、z的值分别为 ① 、 ② 、 ③ 。 答案:①12.770000 ②A ③79

6. 表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))的值是 。 答案:0

7. 已知char c= 'A';int i=1,j;执行语句j=!c&& i++后,i和j的值分别是 和 。

答案:1,0

8. 执行下面的程序 #include void main( ) {

int a=0100,b=100;

printf(\

}

则输出结果是 答案:x=63,y=100

9. 如果要通过以下语句给a、b、c、d分别输入字符A、B、C、D,给w、x、y、z分别输入10、20、30、40,正确的输入形式是 ,请用表示回车键。

scanf (\解:输入格式“%c”表示输入任意一个字符,包括按回车、空格和Tab键等。因此在输入整数10、30、40后不能输入空格而要直接输入字母;同理,字母B和C之间也不能输入空格。同时在20和30之间必须输入空格进行两个整数的区分。所以本题答案为: 10A20□30BC40D(其中,“□”表示一个空格)。

10. 有以下程序:

#include void main ( ) {

char ch1,ch2;int n1,n2;

ch1=getchar ( );ch2=getchar ( ); n1=ch1-'0';n2=n1*10+(ch2-'0'); printf (\}

程序运行时输入:12<回车>,执行后输出结果是 。(2004年4月) 答案:12

11.程序的运行结果为 。

#include void main( ) {

char c1='a',c2='b',c3='c';

printf (\}

答案:aabb cc

12. 请在空白处填上适当的语句,使以下程序的输出结果是16.00,。

#include void main ( ) {

int a=9,b=2;

float x= ,y=1.1,z; z=a/2+b*x/y+1/2;

printf (“%5.2f\\n”,z); } 答案:6.6

联系客服:779662525#qq.com(#替换为@)