c语⾔运算符计算作业题,c语⾔练习集(含答案)以下为《c语⾔练习集(含答案)》的⽆排版⽂字预览,完整格式请下载
下载前请仔细阅读⽂字预览以及下⽅图⽚预览。图⽚预览是什么样的,下载的⽂档就是什么样的。
《C语⾔程序设计》
习题集
班级:
学号:
姓名:
第1章 C语⾔概述
1.1 基本知识点
(C语⾔的特点
(C程序基本结构
(C程序的运⾏过程
(C程序的语法规则
(C程序的开发过程
1.2 练习题1及参考答案
1. 单项选择题
(1)以下并⾮C语⾔的特点的是 。
A.C语⾔简洁和紧凑
B. 能够编制出功能复杂的程序
C.C语⾔可以直接对硬件进⾏操作
D.C语⾔移植性好
【答】B
(2)⼀个C程序的执⾏是从 。
A.main()函数开始,直到main()函数结束
B. 第⼀个函数开始,直到最后⼀个函数结束
C. 第⼀个语句开始,直到最后⼀个语句结束
D.main()函数开始,直到最后⼀个函数结束
【答】A
(3)在C程序中,main()的位置 。
A. 必须作为第⼀个函数
B. 必须作为最后⼀个函数
C. 可以任意
D. 必须放在它所调⽤的函数之后
【答】C
(4)⼀个C程序是由 。
A. ⼀个主程序和若⼲⼦程序组成
B. ⼀个或多个函数组成
C. 若⼲过程组成
D. 若⼲⼦程序组成
【答】B
(5)下列说法正确的是 。
A. 在执⾏C程序时不是从main()函数开始的
B.C程序书写格式限制严格,⼀⾏内必须写⼀个语句
C.C程序书写格式⽐较⾃由,⼀个语句可以分⾏写在多⾏上
D.C程序书写格式严格要求⼀⾏内必须写⼀个语句,并要求⾏号【答】C
2. 填空题
(1)⼀个C源程序⾄少有 ① 个main()函数和 ② 个其他函数。
【答】①⼀ ②若⼲
(2)任何C语句必须以 结束。
【答】分号
(3)C语⾔源程序的基本单位是 。
【答】函数
(4)C编译程序的功能是 。
【答】将C源程序编译成⽬标代码
第2章 数据类型及其运算
2.1 基本知识点
(C语⾔标识符的定义
(C语⾔的数据类型
(C语⾔的基本数据类型(整型、单精度型、双精度型、字符型和枚举型) ( 各种修饰符与基本数据类型的组合⽅式
( 各种数据类型表⽰的数值范围以及数据所占内存空间的⼤⼩
( 常量:整型、实型及符号常量
( 变量:变量的定义与初始化
( 与表达式:运算符的优先级及结合性
( 算术表达式中数据间的混合运算与类型转换
( 数据类型的隐含转换和强制转换
( 赋值运算符与赋值表达式
( 条件运算符和条件表达式
2.2 练习题2及参考答案
1. 单项选择题
(1)以下字符串为标识符的是 。
A. _MY
B. 2_2222
C. short
D. LINE 5
【答】A
运算符优先级图片(2)下列符号可以作为变量名的是 。
A. +a
B. *p
C. _DAY
D. next day
【答】C
(3)设c是字符变量,则以下表达式正确的是 。
A. c=666
B. c='c'
C. c="c"
D. c="abcd"
【答】B
(4)23+'m'+3.6-123.45/'b'的结果是 型数据。
A. char
B. double
C. int
D. long int
【答】3.6和123.45均为double型,运算结果也是double型。本题答案为B。
(5)若变量已正确赋值,以下符合C语⾔语法的表达式是 。
A. a=a+7;
B. a=7+b+c,a++
C. int(12.3%4)
D. a=a+7=c+b
【答】选项A错误,以分号结尾是⼀个语句⽽不是表达式;选项B正确,是⼀个逗号表达式;选项C错
误,因为%求模运算的两个运算数必须均为整数;选项D错误,给⼀个表达式(a+7)⽽⾮变量赋值是不正确的。本题答案为B。
(6)整型变量x=1,y=3,经下列计算后,x的值不等于6的表达式是 。
A. x=(x=1+2,x*2)
B. x=y>2?6:5
C. x=9-(--y)-(--y)
D. x=y*(int)(4.8/2)
【答】选项A的计算过程——x=1+2=3,再计算x=x*2=6;选项B的计算过程——y>2为真,x=6;选项C的计算过程——式中有两个--运算,最后y=1,x=9-1-1=7;选项D的计算过程——x=y*(int)(4.8/2)=y*2=6。本题答案为C。
(7)若定义
int m=7,n=12;
则能得到值为3的表达式是 。
A. n%=(m%=5)
B. n%=(m-m%5)
C. n%=m-m%5
D. (n%=m)-(m%=5)
【答】A、B、C、D选项各表达式的值分别是0、2、2、3。本题答案为D。
(8)以下程序的运⾏结果是 。
#include
main()
{undefined
int i=5,j=6,m=i+++j;
printf("%d,%d,%d\n",i,j,m);
}
A. 6,6,11
B. 5,6,11
C. 5,6,12
D. 6,6,12
【答】m=i+++j等价于m=(i++)+j。本题答案为A。
(9)以下程序的运⾏结果是 。
#include
void main()
{undefined
double f=3.14159;
int n;
n=(int)(f+10)%3;
printf("%d\n",n);
}
A. 1
B. 0
C. 2
D. 3
【答】f+10=13.14159,(int)(f+10)=13,13%3=1。本题答案为A。
(10)以下程序的运⾏结果是 。
#include
void main()
{undefined
int n,i=2,j=4;
n=(++i==j--);
printf("%d\n",n);
}
A. 0B. 1C. 2D. 3
【答】++i返回3,j--返回4,两者不等,故n=0。本题答案为A。
2. 填空题
(1)表达式语句与表达式的不同是 。
【答】语句必须以分号结尾,⽽表达式结尾没有分号;语句可以出现在函数体中数据定义或声明语句后⾯的任何位置,⽽表达式只能出现在语句中规定的位置或表达式中(嵌套出现)。
(2)在C语⾔中可以利⽤ 将⼀个表达式的值转换成指定的类型。
【答】强制类型转换
(3)写出完成下列功能的表达式:
XXXXX 如果变量c是⼤写字母,则将c转换成对应的⼩写,否则c的值不改变。 ①
XXXXX 如果d是数字,则将d转换成相应的整数,否则d的值不改变。 ②
XXXXX 返回两个整数x、y中较⼤者。 ③
XXXXX 返回三个整数x、y和z中最⼤者。 ④
【答】① c=(c>='A' && c<='Z') ? c-'A'+'a' : c
② d=(d>='0' && d<='9') ? d-'0' : d
③ (x>y) ? x : y
④ (x>y) ? (x>z ? x : z) : (y>z ? y : z) 或 (x>y && x>z) ? x : (y>z ? y : z)
(4)以下程序的运⾏结果是 。
#include
#include
main()
{undefined
char s[]="ab\n\\\'\r\b";
printf("%d,%d\n",sizeof(s),strlen(s));
}
【答】字符串s由字符'a'、'b'、'\n'、'\\'、'\''、'\r'、'\b'等7个字符组成,故长度为7,但字符串本⾝有⼀个结束标志'\0'。所以,s的长度为7,在内存中占⽤8个字节。输出为:8,7。
(5)以下程序的运⾏结果是 。
#include
main()
{undefined
int a=2,b=4,c=6,x,y;
y=(x=a+b),(b+c);
printf("y=%d,x=%d\n",y,x);
}
【答】结果为y=6,x=6。
(6)以下程序的运⾏结果是 。
#include
main()
{undefined
char a,b;
a='a';b='b';
a=a-32;b=b-32;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论