C语言概述 作业题

2026/1/24 23:12:35

C语言概述、数据类型运算符表达式、顺序结构

一、选择题

1.下列叙述中,正确的是 c 。

A. C程序中的注释只能出现在程序的开始位置和语句的后面 B. C程序书写格式严谨,要求一行内 只能写一个语句 C. C程序的书写格式自由,一个语句可以写在多行上 D. 用C语言编写的程序只能放在一个程序文件中 2.下列选项中,可作为合法标识符的是 c 。

A. 1m B. Data C. str+1 D. i-1 字母、数字、下划线

3.设变量已正确定义并赋值,以下合法的C语言赋值语句是 c 。

A. x=y==5 B. x=n%2.5 C. x+n=i D. x=5=4+1 %后面必须是整型,等号左边必须是变量,不能是表达式和常量

4.设有定义:int k=0;以下选项的4个表达式中与其他3个表达式的值不相同的是 a 。

A. k++ B. k+=1 C. ++k D. k+1 注意这里是指表达式的值,即k++是先赋值再执行k+1,因此表达式值为0

5.若有定义:int a,b;则用语句scanf(“%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是 a 。

A., B. 空格 C. 回车 D. Tab键

6.C语言并不是非常严格的算法语言,在以下关于C语言的不严格的叙述中,错误的是 。

A. 任何不同数据类型都不可以通用

B. 有些不同类型的变量可以在同一个表达式中运算

C. 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D. 同一个运算符号在不同的场合可以有不同的含义 7.下列常数中不能作为C语言的常量的是 d 。

A.0Xa6 十六进制数 B. 3.4e-3 C. 3e5 D. 0683 8.下面不是C语句的是 。

A.int; B. ; C. a=1,b=5 没有分号 D. {;}

9.设x、y、z为整型变量,若从键盘给x、y、z输入数据,则正确的输入语句是 。

A.scanf(“%d%d%d”,&a,&b,&c); B. scanf(“%d%d%d”,a,b,c); C.scanf(“%D%D%D”,&a,&b,&c); D. scanf(“%d%d%d”,&a;&b;&c);

10.若变量已正确定义,现要将a和b中的数据进行交换,下面不正确的是 。

A.a=a+b,b=a-b,a=a-b; B. t=a,a=b,b=t; C.a=t,t=b,b=a; D. t=b,b=a,a=t;

二、填空题

1.在C语言中,用关键字 int 定义基本整型变量,用关键字 float 定义单精度实型变量,用关键字 double 定义双精度实型变量。 2.若s是int型变量,且s=6,则表达式s%2+(s+1)%2的值为 1 。 s%2是除2求余。等于0 s+1除2求余。求于1

3.条件“00&&x<30)||(x<-100) 。

4.现有定义 int a;double b;float k;,则表达式a/b+c-k 的值的数据类型为 double 。 5.若有定义 int x=3,y=2;float a=2.5,b=3.5;,则表达式(x+y)%2+(int)a/(int)b 的值为 1 。两个int型相除,结果也为int型,也是取整数部分。如2/3=0.666...取整数部分结果就是0 6.若已定义 x和y为double类型,则表达式x=1,y=x+3/2的值为 2.0 。 默认是6个0,但是这里用一个0表示小数 因为X黄河Y都是实型 在3/2的时候=1.5但转换成双精度实double时也就是1.0 7.在C语言中整数可用 八 进制数、 十 进制数和 十六 进制数三种数制表示。没有二进制. 8.实型常量有两种表示方式:小数形式和 指数形式 。 9.表达式(a=5-3/2,a*6),a+10的值为 14 。 a=4 取后面的值

10.若有定义 int a=1234;,则使用printf(“-”,a);输出值为 1234 。

(%xd)若x是正数则输出的数靠右对齐,不足的在后边补空格;若x是负数那么就是左对齐,且左边不空格 因为1234超出了2位,所以原样输出 三、阅读下列程序,写出运行结果

1、执行以下程序后的输出结果是 a=14 。 #include main() {

int a=10; a=(3*5,a+4);

printf(“a=%d\\n”,a); }

2、以下程序的输出结果是 a=4,i=5 。 #include main() {

int i=4,a; a=i++;

printf(“a=%d,i=%d\\n”,a,i); }

3、以下程序的输出结果是 18 。 #include main() {

int x=023;

printf(“%d\\n”,--x); }

八进制转化为十进制:2*8+3*1=19,--x为先减赋值

4、以下程序的输出结果是 65.000000 。 #include main() {

char ch=?A?; int num1=ch;

float num2=num1; printf(“%f”,num2); }

5、以下程序的输出结果是 6 。 #include main() {

int a=5,b=4,c=6,d;

printf(“%d\\n”,d=a>b?(a>c?a:c):(b)); 先判断a>b为真取(a>c?a:c)否则取(b),接着再判读a>c是否为真,真取 a否则取 c }

6、以下程序的输出结果是 2 。 #include main() {

int a=1,b=2;

printf(“%d\\n”,a=a+1,a+6,b+2); }

不是逗号表达式,按顺序输出,若是(a=a+1,a+6,b+2)则是 :4但是计算的是a=a+1 也就是1+1=2 7、以下程序的输出结果是 4 。 #include main() {

int a=1,b=2;

printf(“%d\\n”,(a=a+1,a+6,b+2)); }

8、以下程序的输出结果是 E 。 #include main() {

int x=?d?;

printf(“%c\\n”,?A?+(x-?a?+1)); }

大小写转换 x为小写字母,x+'A'-'a',x为大写字母,x-'A'+'a' 了解ACSLL码 这里注意%c 是按字符输出的 9、以下程序的输出结果是 8,11,16 。 #include main() {

int a=010,b=10,c=0x10;

printf(“%d, %d , %d \\n”,a--,++b,c++); }

10、以下程序的输出结果是 1.600000 。 #include main() {

float d=3.2;int x,y; x=6.8;y=(x+5.8)/5; printf(“%f\\n”,d/y); }

x=6 y=2

答案:一、选择题

1、C 2、B 3、A 4、A 5、A 6、A 7、D 8、C 9、A 10、C

二、填空题

1、int,float,double; 2、1; 3、((x>20)&&(x<30)) || (x<-100) 4、double; 5、1; 6、2.0; 7、十、八、十六; 8、指数形式; 9、14; 10、1234;

三、读程序题

1、a=14; 2、a=4,i=5; 3、18 4、65.000000; 5、6; 6、2; 7、4; 8、E ; 9、8,11,16; 10、1.600000;


C语言概述 作业题.doc 将本文的Word文档下载到电脑
搜索更多关于: C语言概述 作业题 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219