C语言练习题 基本数据类型和运算
- 格式:pdf
- 大小:95.15 KB
- 文档页数:3
第2章基本数据类型和运算练习题一、单项选择题1.下列数据中属于“字符串常量"的是( ).A."a”B。
{ABC} C. ’abc\0’ D. 'a’2.下列数据中属于“字符串常量”的是( )。
A.ABC B. “ABC” C. ’abc’ D. ’a'3. 在PC机中,’\n’在内存占用的字节数是( ).A。
1 B. 2 C. 3 D. 44. 在PC机中,"a\xff” 在内存占用的字节数是()。
A. 5B. 6 C。
3 D. 45.字符串”ABC"在内存占用的字节数是( ).A. 3 B。
4 C. 6 D。
86.字符串”\”ABCD\”"在内存占用的字节数是()。
A. 4B. 6 C。
7 D. 87。
在C语言中,合法的长整型常数是( )。
A. 0LB.C. 0.D. 2。
1869e108.在C语言中,合法的短整型常数是()。
A。
OL B. 0821 C. 40000 D。
0x2a9。
下列数据中不属于“字符常量”的是( )。
A. ‘\a’B. ‘\160’C。
‘070’D。
07010.char型常量在内存中存放的是()。
A。
ASCII代码值B。
BCD代码值 C. 内码值D。
十进制代码值11.设整型变量m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n的值是( )。
A。
0,0 B。
0,1 C. 1,0 D。
1,112.设整型变量m,n,a,b,c,d均为1,执行“(m=a>b)&&(n=a〉b)”后,m,n的值是()。
A. 0,0B。
0,1 C. 1,0 D. 1,113.设a为2,执行下列语句后,b的值不为0.5的是( )。
A。
b=1。
0/a B. b=(float)(1/a)C。
b=1/(float)a D. b=1/(a*1.0)14.设a为5,执行下列语句后,b的值不为2的是( ).A。
一、选择题1. 下列哪个选项是C语言的基本数据类型?A. floatB. charC. intD. all of the above2. 在C语言中,下列哪个运算符用于取余数?A. %B. /C.D. +A. printf()B. scanf()C. getchar()D. putchar()A. int arr[3][4];B. int arr[3, 4];C. int arr[3];D. int arr[3, ];A. returnB. gotoC. continueD. recursion二、填空题1. 在C语言中,字符类型的数据通常用______关键字表示。
2. 在C语言中,______函数用于实现字符串的拷贝。
3. 在C语言中,______运算符用于实现按位与操作。
4. 在C语言中,______关键字用于定义结构体。
5. 在C语言中,______函数用于获取当前时间。
三、编程题1. 编写一个C语言程序,实现计算两个整数的和。
2. 编写一个C语言程序,实现判断一个整数是否为素数。
3. 编写一个C语言程序,实现冒泡排序算法。
4. 编写一个C语言程序,实现计算斐波那契数列的前10项。
5. 编写一个C语言程序,实现实现一个简单的计算器,能够进行加、减、乘、除运算。
四、简答题1. 解释C语言中的指针的概念及其用途。
2. 描述C语言中的函数指针的概念。
3. 说明C语言中的结构体和联合体的区别。
4. 列举C语言中常用的内存分配函数及其作用。
5. 解释C语言中的文件操作的基本流程。
五、编程题6. 编写一个C语言程序,实现计算一个数的阶乘。
7. 编写一个C语言程序,实现将字符串反转。
8. 编写一个C语言程序,实现判断一个链表是否为回文链表。
9. 编写一个C语言程序,实现实现一个简单的银行账户管理系统。
10. 编写一个C语言程序,实现实现一个简单的学生信息管理系统。
六、编程题11. 编写一个C语言程序,实现实现一个简单的计算器,支持加减乘除和开方运算。
一、C语言概述练习题选择1.一个C程序的执行是从 A 。
本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是 D 。
A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是 C 。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由 B 。
A)一个主程序和若干个子程序组成函数组成 C) 若干过程组成 D) 若干子程序组成二、数据类型、运算符与表达式选择. 1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C.x=(i=4,j=16,k=32) A) 4 B) 16 D) 522.下列四组选项中,均不是C语言关键字的选项是 A 。
C) include case scanf D) while go pow3.下列四组选项中,均是不合法的用户标识符的选项是 B 。
4.下列四组选项中,均是合法转义字符的选项是 A 。
\”’‘\\’‘\n’ B)‘\’‘\017’‘\”’ C)‘\018’‘\f’‘xab’ D)‘\\0’‘\101’‘xlf’5.下面不正确的字符常量是 A 。
“c”B) ‘\\’’C) ‘’D) ‘K’6.以下叙述不正确的是 D 。
A) 在C程序中,逗号运算符的优先级最低 B) 在C程序中,MAX和max是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值7.以下叙述正确的是 B 。
基本数据类型和运算典型例题分析与解答1 在c语言中,不允许有常量的数据类型是()①整型②结构型③字符型④字符串【分析】C语言中,允许出现整型、实型、字符型、字符串的常量,其中整型常量又区分为短整型常量和长整型常量。
【答案】②2 下列数据中,不属于常量的是()① 123L②'\012' ③"12.3L"④ 12.3L【分析】④中的数据不是常量,因为实型常量是不区分单精度和双精度的,12.3后跟字母L 是错误的;①中是长整型常量;②中是以转义字符方式出现的字符型常量;③中是字符串常量。
【答案】④3 -12345E-3代表的十进制实数是________________________。
【分析】这是用指数形式表示的实型常量,对于指数形式“土aaaaaE土bbb”的实数,其值为“土 aaaaax 10土bbb”。
("土"表示正负)【答案】- 12.3454 字符串“\\012\012”在内存中占用的字节数是___________________个。
【分析】一个字符串所占用的内存字节数等到于其中字符的数目再加1。
题目中给出的字符串中'\\'是1个转义字符;'0'、'l'、'2'分别都是单个字符;‘\012'是一个用八进制数表示的转义字符,所以其中单个字符的数目为5,该字符串占用的内存字节数等于5+l,其中增加的1个字节用于存放“字符串结束标记”符号‘\0'。
【答案】65 设短整型变量x的值为12,假定分配给x的内存单元地址是0xff00,和0xff01,则在程序中能表示变量x的地址是()① 0xff00② oxff01③&x④&12【分析】C语言规定,任何变量的地址,在程序中用“&变量名”来表示。
【答案】③6 下列说法中,错误的是()①变量的定义可以放在所有函数之外②变量的定义可以不放在本编译单位中,而放在其他编译单位中③变量的定义可以放在某个函数的函数头中④变量的定义可以放在某个复合语句的开头【分析】①中定义的变量是正确的,这种变量是外部变量;②中定义的变量是正确的,这种变量在本编译单位中要说明为“外部参照型”变量;④中定义的变量是允许的,这种变量称为内部变量,其作用域只能是本复合语句。
数据类型、运算符和表达式复习题一.选择题1. 以下不合法的用户标识符是:( )a) f2_G3 b) If c) 4d d) _82. 以下选项中合法的用户标识符是:()a) long b) _2Test c) 3Dmax d) A。
dat3. 以下可用作用户标识符的是:()a) 12_a b) signed c) t-o d) _if4。
以下不是关键字的标识符是:( )a) continue b) char c) If d) default5. C语言提供的合法的关键字是:( )a) swicth b) cher c) Case d) void6. 以下选项中不合法的int整型常数是()a) 32768 b) —56 c) 03 d) 0xAF 7。
以下合法的长整型常量是()a) 2L b) 49627 c) 34566666 d) 213&8. 以下正确的实型常量是( )a) 1.2E b) 。
579899 c) 1.2e0.6 d) 8 9。
以下选项中合法的实型常数是()a) 5E2。
0 b) E—3 c) 。
2E0 d) 1。
3E 10。
以下合法的八进制数是()a) 0135 b) 068 c) 013。
54 d) o711。
以下合法的十六进制数是( )a) 0x b) 0x4de c) 0x1h d) ox7712. 以下选项中非法的数值常量是( )a) 019 b) 0L c) 0xff d) 1e113。
若变量已正确定义,以下合法的赋值表达式是()a) a=1/b=2 b) ++(a+b)c) a=a/(b=5) d) y=int(a)+b14。
若变量已正确定义,以下非法的表达式是()a) a/=b+c b) a%(4。
0)c) a=1/2*(x=y=20,x*3) d) a=b=c15. 设x为int类型,其值为11,则表达式(x++*1/3)的值是:a) 3 b) 4 c) 11 d) 1216.设a,b均为double型,且a=5。
一、选择题1. 可用作C语言用户标识符的一组标识符是( B )。
A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DO sizeof2. 存储以下数据,占用存储字节最多的是(D )。
A. 0B. ‘0’C. “0”D. 0.03. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。
A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车4. 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( C )。
A. 12B. 144C. 156D. 2885. 假设在程序中a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式1/abc的表达式是( A)。
A. 1.0/a*b*cB. 1/(a*b*c)C. 1/a/b/(float)cD. 1.0/a/b/c6. 设”int a=15,b=26;”,则”printf(“%d,%d”,a,b);”的输出结果是(C )。
A. 15B. 26,15C. 15,26D. 267. 设x是一个int型的,y的值为10,则表达式x && y的值为(C )。
A. 1B. 0C. 与x值相同D. 与x值相反8. x>0 && x<=10的相反表达式为( A )。
A. x<=0 || x>10B. x<=0 && x>10C. x<=0 || x<=10D. x>0 && x>109. x>0 || y==5的相反表达式为( B )。
A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==510. 下面的哪个保留字不能作为函数的返回类型?( C ) 。
C语言试题数据类型运算符与表达式一、单项选择题1、以下选项中,不正确的C语言浮点型常量是(C)。
A.160.B.0.12C.2e4.2D.0.0分析:e后面的指数必须为整数。
2、以下选项中,(D)是不正确的C语言字符型常量。
A.'a'B.'\\某41'C.'\\101'D.\分析:在C语言中,’a’表示字符常量,”a”表示字符串。
3、在C语言中,字符型数据在计算机内存中,以字符的(C)形式存储。
A.原码B.反码C.ASCII码D.BCD码分析:将一个字符常量放入一个字符变量中,实际上并不是将字符本身放到内存单元中,而是将字符的对应的ASCII码放到储存单元中。
4、若某、i、j和k都是int型变量,则计算下面表达式后,某的值是(C)。
某=(i=4,j=16,k=32)A.4B.16C.32D.52分析:(i=4,j=16,k=32)的值为最后一个表达式的值,即为32,所以某=32.5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。
A.算术运算、赋值运算、关系运算 B.算术运算、关系运算、赋值运算C.关系运算、赋值运算、算术运算D.关系运算、算术运算、赋值运算分析:算术运算符包括加法运算“+”符减法运算“-”符乘法运算符“某”以及除法运算符“/”,赋值运算符包括“=、+=、-=、某=、/=、”,关系运算符包括“、>=”。
3ae6、若有代数式bc,则不正确的C语言表达式是(C)。
A.a/b/c某e某3B.3某a某e/b/cC.3某a某e/b某cD.a某e/c/b某3分析:C选项表达的是3ace/b。
7、表达式!某||a==b等效于(D)。
A.!((某||a)==b)B.!(某||y)==bC.!(某||(a==b))D.(!某)||(a==b)分析:由符优先级先后顺序在!某||a==b中应先算“||”再算“!”,最后算“==”。
C语言基本数据类型及运算题库有答案第二章基本数据类型及运算一、选择题1. 若以下选项中的变量已正确定义,则正确的赋值语句是。
A) x1=26.8%3; B) 1+2=x2; C) x3=0x12; D) x4=1+2=3;答案:C2. 设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是。
A) x=x*100+0.5/100.0 B) x=(x*100+0.5)/100.0C) x=(int)(x*100+0.5)/100.0 D) x=(x/100+0.5)*100.0答案:C3. 下列C语言中运算对象必须是整型的运算符是。
A) %= B) / C) = D) *=答案:A4. 若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是。
A) 0 B) 0.5 C) 1 D) 2答案:A5. 设x和y均为int型变量,则以下语句:x+=y; y=x-y; x-=y; 的功能是。
A) 把x和y按从大到小排列 B) 把x和y按从小到大排列C) 无确定结果 D) 交换x和y中的值答案:D6. 下列变量定义中合法的是。
A)short_a=1-.le-1; B)double b=1+5e2.5;C)long do=0xfdaL; D)float 2_and=1-e-3;答案:A7. 以下4个选项中,不能被看作是一条语句的是。
A) {;} B) a=0,b=0,c=0;C) if (a>0); D) if (b==0)m=1;n=2;答案:D8. 设x=1,y=-1,下列表达式中解为8的是。
A)x&y B)~x│x C)x^x D)x<<=3答案:D9. 在C语言中不合法的整数是。
A)20 B)0x4001 C)08 D)0x12ed答案: C10. 以下选项中不正确的实型常量是A)2.607E-1 B)0.8103e0.2 C)-77.77 D)456e –2答案:B)11.若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7 B)a=7+b+c,a++C)int(12.3%4) D)a=a+7=c+b答案:B)12.以下十六进制数中不合法的是A)oxff B)0Xabc C)0x11 D)0x19答案:A)13. 设int i=2,j=3,k=4,a=4,b=5,c=3;,则执行表达式(a=i<j)&&(b=j>k)&&(c=i,j,k)后,c值是。
c语言数据类型考试题目及答案C语言数据类型考试题目及答案1. 以下哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D2. 在C语言中,一个int类型变量通常占用多少字节?A. 1B. 2C. 4D. 8答案:C3. 假设变量a的类型为int,变量b的类型为float,执行以下代码后,变量a的值是多少?```cint a;float b = 10.5;a = (int)b;```A. 10B. 11C. 10.5D. 0答案:A4. 以下哪个关键字用于定义一个字符常量?A. charB. stringC. intD. float答案:A5. 在C语言中,以下哪个选项不是合法的变量名?A. _myVarB. my_varC. 2myVarD. myVar2答案:C6. 以下哪个数据类型用于存储单个字符?A. intB. floatC. charD. double答案:C7. 如果一个变量的类型为double,那么它的值可以被存储为:A. 整数B. 小数C. 整数和小数D. 以上都不是答案:C8. 在C语言中,以下哪个运算符用于比较两个值是否相等?B. !=C. <=D. >=答案:A9. 以下哪个选项是C语言中的逻辑运算符?A. &&(逻辑与)B. ||(逻辑或)C. &(按位与)D. 以上都是答案:D10. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. constC. externD. volatile答案:A11. 以下哪个选项是C语言中的循环结构?A. ifB. switchC. whileD. for答案:C12. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. void答案:C13. 以下哪个选项不是C语言中的文件操作函数?A. fopenB. fcloseC. printfD. fread答案:C14. 在C语言中,以下哪个关键字用于定义一个指针?A. pointerB. ptrC. *D. ref答案:C15. 以下哪个选项是C语言中的数组?A. 一组具有相同类型的变量B. 一组具有不同类型的变量C. 一个变量D. 一个函数答案:A。
C语言入门练习题一、基础知识篇1.1 变量与常量1. 定义一个整型变量并赋值为10。
2. 声明一个浮点型常量,其值为3.14。
3. 将字符型变量 'A' 赋值给另一个字符型变量。
1.2 数据类型1. 将一个整型变量转换为浮点型变量。
2. 将一个长整型变量赋值给一个短整型变量。
3. 编写一个程序,输出不同数据类型所占的字节数。
1.3 运算符1. 计算5加3乘2的结果。
2. 判断两个整型变量是否相等。
3. 使用自增运算符使变量i的值增加1。
二、控制结构篇2.1 顺序结构1. 编写一个程序,输出1到10的整数。
2. 输出用户输入的两个整数中的较大值。
3. 计算并输出圆的面积(给定半径)。
2.2 选择结构1. 判断一个整数是正数、负数还是零。
2. 根据用户输入的成绩,输出对应的等级(A、B、C、D、E)。
3. 编写一个程序,实现石头剪刀布的游戏。
2.3 循环结构1. 计算1到100所有整数的和。
2. 输出所有的水仙花数(一个三位数,其各位数字的立方和等于该数本身)。
3. 使用循环结构输出九九乘法表。
三、函数篇3.1 函数定义与调用1. 编写一个函数,计算两个整数的和。
2. 定义一个函数,实现字符串的复制。
3. 创建一个函数,判断一个数是否为素数。
3.2 递归函数1. 使用递归函数计算斐波那契数列的第n项。
2. 编写一个递归函数,实现字符串的逆序输出。
3. 利用递归函数求解汉诺塔问题。
四、数组篇4.1 一维数组1. 初始化一个包含10个整数的数组,并输出其元素。
2. 计算一维数组中所有元素的和。
3. 找出一维数组中的最大值和最小值。
4.2 二维数组1. 创建一个3行4列的二维数组,并输出其元素。
2. 计算二维数组对角线元素的和。
3. 实现矩阵的转置。
五、指针篇5.1 指针基本操作1. 声明一个整型变量和一个指向该变量的指针,并输出指针所指向的值。
2. 使用指针实现两个整数的交换。
3. 编写一个函数,通过指针参数修改传入的字符串。
第2章基本数据类型和运算练习题
一、单项选择题
1.下列数据中属于“字符串常量”的是()。
A.”a” B.{ABC} C.’abc\0’ D.’a’
2.下列数据中属于“字符串常量”的是()。
A.ABC B.“ABC” C.’abc’ D.’a’
3.在PC机中,’\n’在内存占用的字节数是()。
A.1
B.2
C.3
D.4
4.字符串”ABC”在内存占用的字节数是()。
A.3
B.4
C.6
D.8
5.下列数据中不属于“字符常量”的是()。
A.‘\a’
B.‘\160’
C.‘070’
D.070
6.char型常量在内存中存放的是()。
A.ASCII代码值
B.BCD代码值
C.内码值
D.十进制代码值7.设整型变量m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n的值是()。
A.0,0
B.0,1
C.1,0
D.1,1
8.设整型变量m,n,a,b,c,d均为1,执行“(m=a>b)&&(n=a>b)”后,m,n的值是()。
A.0,0
B.0,1
C.1,0
D.1,1
9.设a为2,执行下列语句后,b的值不为0.5的是()。
A.b=1.0/a
B.b=(float)(1/a)
C.b=1/(float)a
D.b=1/(a*1.0) 10.设a为5,执行下列语句后,b的值不为2的是()。
A.b=a/2
B.b=6-(--a)
C.b=a%2
D.b=a>3?2:2
11.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次为()。
A.3,3,2
B.3,2,2
C.3,2,3
D.2,3,2
12.int b=0,x=1;执行语句“if(x++)b=x+1;”后,x,b的值依次为()。
A.2,3
B.2,0
C.3,0
D.3,2
13.设有语句int a=3;,则执行了语句a+=a-=a*a;后,变量a的值是()。
A.3
B.0
C.9
D.-12
14.设有语句int a=3;,则执行了语句a+=a-=a*=a;后,变量a的值是()。
A.3
B.0
C.9
D.-12
15.int a=4,b=3,c=-2,d=2;逻辑表达式a>0&&b&&c<0&&d>0的值是()。
A.1
B.0
C.-1
D.出错
16.在以下一组运算符中,优先级最高的运算符是()。
A.<=
B.=
C.%
D.&&
17.设整型变量i的值为3,则计算表达式i---i后表达式的值为()。
A.0
B.1
C.2
D.表达式出错
18.设整型变量i,j=3;则计算表达式i=j+++j后i,j的值为()。
A.4,4
B.6,6
C.4,6
D.6,4
19.设整型变量a,b,c均为2,表达式a+++b++c++的结果是()。
A.6
B.9
C.8
D.表达式出错
20.设整型变量i值为2,表达式(++i)+(++i)+(++i)的结果是()。
A.6
B.12
C.15
D.表达式出错
21.设整型变量i,j值均为3,执行了“j=i++,j++,++i”后,i,j的值是()。
A.3,3
B.5,4
C.4,5
D.6,6
22.若已定义x和y为double类型,则表达式;x=1,y=x+3/2的值是()。
A.1
B.2
C.2.0
D.2.5
23.表达式“1?(0?3:2):(10?1:0)”的值是()。
A.3
B.2
C.1
D.0
24.设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?a:d的结果为()。
A.4
B.3
C.2
D.1
25.设a为整型变量,不能正确表达数学关系:10<a<15的C语言表达式是()。
A.10<a<15
B.a==11||a==12||a==13||a==14
C.a>10&&a<15
D.!(a<=10)&&!(a>=15)
26.设f是实型变量,下列表达式中不是逗号表达式的是()。
A.f=3.2,1.0
B.f>0,f<10
C.f=2.0,f>0
D.f=(3.2,1.0)
27.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中值为0的是()。
A.’a’&&’b’
B.a<=b
C.a||b+c&&b-c
D.!((a<b)&&!c||1)
28.设a是char型变量,其值字符为’1’,则把其值变成整数1的表达式是()。
A.(int)a
B.int(a)
C.a=a-48
D.a/(int)a
29.设a是int型变量,其值为3,则把其值变成字符’3’的表达式是()。
A.(char)a
B.a=3
C.a=a-48
D.a=a+48
30.设ch是char型变量,其值为’A’,则下面表达式的值是()。
ch=(ch>=’A’&&ch<=’Z’)?(ch+32):ch
A.A
B.a
C.Z
D.z
二、填充题
1.在内存中存储“A”要占用个字节,存储‘A’要占用个字节。
2.C语言中的逻辑值“真”是用表示的,逻辑值“假”是用表示。
3.无符号基本整型的数据类型符为,双精度实型数据类型符为,字符型数据类型符为。
4.定义变量的完整语句格式是。
5.设下列运算符:<<、+、++、&&、<=,其中优先级最高的是,优先级最低的是。
6.设a=3,b=2,c=1,则a>b的值为,a>b>c的值为。
7.若已知a=10,b=20,则表达式!a<b的是值为。
8.设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为。
9.设整型变量x,y,z均为5:
①执行“x-=y-z”后x=,
②执行“x%=y+z”后x=,
③执行“x=(y>z)?x+2:x-2,3,2”后x=。
10.能表述“20<X<30或X<-100”的C语言表达式是。