C语言数据类型习题包括答案.docx
(完整word)C语言练习题—基本数据类型和运算

第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。
(完整word)1、c语言-数据类型与运算符(含答案)详解,推荐文档

(完整word)1、c语言-数据类型与运算符(含答案)详解,推荐文档一、选择题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 ) 。
1、c语言-数据类型与运算符(含答案)详解

一、选择题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语言_分章节练习_带答案_第二章_数据类型

C语言_分章节练习_带答案_第二章_数据类型[单选题]1.C 语言中(以16 位PC 机为例),各数据类型的存储空间长度的排列顺序为。
A)char<int<long<=float<doubleB)char=int<long<=float<doubleC)char<int<long=float=doubleD)char=int=long<=float<double答案:A解析:2.若x、i、j 和k 都是int 型变量,则计算下面表达式后,x 的值为。
x=(i=4,j=16,k=32)A)4B)16C)32D)52答案:C解析:3.假设所有变量均为整型,则表达式(a=2,b=5,a+b++,a+b) 的值是。
A)7B)8C)5D)2答案:B解析:4.语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。
A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中的任一种字符答案:C解析:5.下面正确的字符常量是。
A)"c"B)'\\''C)'W'D)""答案:C解析:6.下面不正确的字符串常量是。
A)'abc'B)"12'12"C)"0"D)" "答案:A解析:7.若有代数式3ae/bc,则不正确的C 语言表达式是。
A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*3答案:C解析:8.已知各变量的类型说明如下,则不符合C 语言语法规定的表达式是。
int k,a,b;unsigned long w=5;double x=1.42;A)x%(-3)B)w+=-2C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)答案:A解析:9.已知各变量说明如下,则符合C 语言语法规定的表达式是。
c语言期末考试题库大题及详解答案

c语言期末考试题库大题及详解答案C语言期末考试题库大题及详解答案一、简答题1. 请简述C语言的基本数据类型及其特点。
答案:C语言的基本数据类型包括整型(int)、浮点型(float和double)、字符型(char)和枚举型(enum)。
整型用于存储整数,浮点型用于存储小数,字符型用于存储单个字符,枚举型用于定义一组命名的常量。
每种数据类型都有其特定的取值范围和占用内存大小。
2. 请解释C语言中的数组和指针的区别。
答案:数组是一种数据结构,用于存储固定数量的相同类型元素,可以通过下标访问元素。
指针是一个变量,它存储另一个变量的内存地址。
数组名可以作为指向数组第一个元素的指针使用,但数组本身是一个固定大小的内存块,而指针可以被赋值为不同的地址,具有动态性。
二、编程题1. 编写一个C语言程序,实现输入三个整数,找出其中的最大值并输出。
答案:```c#include <stdio.h>int main() {int num1, num2, num3, max;printf("请输入三个整数:");scanf("%d %d %d", &num1, &num2, &num3);max = (num1 > num2) ? ((num1 > num3) ? num1 : num3) : ((num2 > num3) ? num2 : num3);printf("最大值是:%d\n", max);return 0;}```2. 编写一个C语言程序,实现字符串的反转。
答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");fgets(str, sizeof(str), stdin); // 使用fgets以包含空格int len = strlen(str) - 1; // 减去换行符长度for (int i = len; i >= 0; --i) {printf("%c", str[i]);}printf("\n");return 0;}```三、综合题1. 请编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除四种基本运算。
C语言程序设计第2章数据类型与运算练习题及解答

C语⾔程序设计第2章数据类型与运算练习题及解答第2章数据类型和运算符习题及解答⼀.选择题。
1.下列是⽤户⾃定义标识符的是A)_w1 B)3_xy C)int D)LINE-3答案:A解析: C语⾔规定⽤户标识符由英⽂字母、数字和下划线组成,且第⼀个字符必须是字母或下划线,由此可见选项B),D)是错的;此外,C语⾔不允许⽤户将关键字作为标识符,⽽选项C)选项项中的int 是C语⾔的关键字。
语⾔中最简单的数据类型包括A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、字符型、逻辑型 D)字符型、实型、逻辑型答案:B解析:本题考查C语⾔的数据类型。
在C语⾔中,没有专门的逻辑型数据类型,可以⽤0和1来表⽰逻辑值。
所以,在本题的选择答案中,不应该包括逻辑型。
3.假定int类型变量占⽤两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A)3 B)6 C)10 D)20答案:D解析: x数组共有10个元素,在花括弧内只提供3个初值,这表⽰只给前⾯的3个成员赋值,后7个元素的值为0,所以,⼀共有20个字节。
4.以下选项中不正确的实型常量是A) B) C) D)234e-2答案:B解析:实型常量表⽰时字母E或e前必须有数字,其后数字必需为整数,故B错。
5.若变量已正确定义并赋值,以下符合C语⾔语法的表达式是A)a:=b+1 B)a=b=c+2 C)int %3 D)a=a+7=c+b答案:B解析:选项A)中包含⼀个不合法的运算符“:=”;选项C)应改为(int)%3;选项D)可理解为两个表达式:a+7=c+b和a=a+7,其中第⼀个是错的,因为C语⾔规定赋值号的左边只能是单个变量,不能是表达式或常量等。
因此,正确答案是选项B),它实际上相当于a=(b=c+2),进⽽可分解为两个表达式:b=c+2和a=b。
6.下列可⽤于C语⾔⽤户标识符的⼀组是A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof答案:B解析: C语⾔规定标识符只能由字母、数字和下划线三种字符组成,且第⼀个字符必须为字母或下划线,排除选项C)和D)。
(完整word)1、c语言-数据类型与运算符(含答案)详解,推荐文档

一、选择题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语言基本数据类型及运算题库有答案

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值是。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章数据类型,运算符与表达式
一.选择题
1.不合法的字符常量是( B)。
A)‘ \t ’B) “ A” C )‘ a’ D)’ \x32 ’
2、合法的字符常量是( D)。
A)‘ \084 ’B)‘ \84 ’ C )‘ab’ D)’ \x43 ’
2.( B)是 C 语言提供的合法的数据类型关键字。
A) Float B) signed C) integer D)Char
3.在以下各组标识符中,合法的标识符是( 4)。
(1) A) B01 B )table_1C) 0_t D) k%
(2) A) Fast_ B) void C)pbl D) <book>
(3) A) xy_ B ) longdouble C)*p D) CHAR
(4) A) sj B)Int C)_xy D)w_y23
4.属于合法的 C 语言长整型常量的是( B)。
A) 5876273B) 0L C) 2E10D) (long)5876273
5.下面选项中,不是合法整型常量的是( B)。
A) 160B)- 0xcdg C)- 01D)- 0x48a
6.判断 int x = 0xaffbc;x 的结果是( B)(turbo c版本)。
A)赋值非法 B )溢出C)为 affb D)为 ffbc
7.下面选项中,均是合法浮点数的是( B)。
A)+ 1e+ 1 B)- .60 C) 123e D )- e3
A)5e -B)12e-4C)- .4 D).8e- 4
A)03e2B)-8e5C)+ 2e-1D) -0
8.在 C 语言中,要求参加运算的数必须是整数的运算符是( C)。
A) / B) * C ) % D) =
9.在 C 语言中,字符型数据在内存中以( D)形式存放。
A)原码 B ) BCD码C)反码D) ASCII 码
10.下列语句中,符合语法的赋值语句是( C)。
A) a= 7+ b+ c= a+7;B) a= 7+ b++= a+ 7;
C) a=(7 + b, b++, a+ 7) ; D ) a=7+ b, c= a+ 7;
11.( B)是非法的 C 语言转义字符。
A)‘ b’B)‘ 0xf ’ C )‘037’ D )‘’’
12.对于语句: f=,,,,,;的判断中( B),是正确的。
A)语法错误B)f 为 5.0C)f为 D) f 为
13.与代数式 (x*y)/(u*v)不等价的 C语言表达式是( A)。
A) x*y/u*v B) x*y/u/v C) x*y/(u*v) D) x/(u*v)*y
14.在 C 语言中,数字029 是一个( D)。
A)八进制数 B )十六进制数 C )十进制数 D )非法数
15. C语言中( Turbo C 环境)整数-8 在内存中的存储形式为( A)。
A) 000B) 00
C) 000000000001000D)111
16.对于 char cx= ’039’; 语句,正确的是(A) 。
A)不合法 B ) cx 的 ASCII 值是 33
C) cx 的值为四个字符D)cx 的值为三个字符
17.若 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)
18.为了计算 s=10! (即 10 的阶乘 (24320)),则 s 变量应定义为 (D) 。
A) int B) unsigned C ) long D)以上三种类型均可
19.以下所列的 C 语言常量中,错误的是(B)。
A) 0xFF B) 0.5C)2L D )’ 72’
20.假定 x 和 y 为 double 型,则表达式x=2, y=x+3/2 的值是 (D)。
A) B )3C)D)
21.以下合法的赋值语句是(A)。
A) x=y=100B)d――C) x+y D) c=int(a+b)
22.以下选项中不属于 C 语言的类型是 (D)。
A) signed short int B)unsigned long int
B) unsigned int D)long short
23.设以下变量均为int类型,则值不等于7 的表达式是 (C) 。
A) (x=y=6,x+y,x+1)B) (x=y=6,x+y,y+1)
C) (x=6,x+1,y=6,x+y)D) (y=6,y+1,x=y,x+1)
24.在 16 位 C 编译系统上,若定义 long a;,则能给 a 赋 40000的正确语句是 (D) 。
A) a=20000+20000 ; B) a=4000*10 ;
C) 30000+10000;D) a=4000L*10L ;
二.填空题
1.在 C 语言中(以 16 位 PC机为例),一个 char 数据在内存中所占字节数为1,其数值范围为 -128~127;一个 int 数据在内存中所占字节数为2,其数值范围为
-32768~32767 ;一个 long 数据在内存中所占字节数为4,其数值范围为-48~47;一个 float数据在内存中所占字节数为4,其数值范围为 ~。
语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为字母或下画线。
3.字符常量使用一对引号界定单个字符,而字符串常量使用一对双引号来界定若干个字符的序列。
4.设 x,i,j,k都是 int型变量,表达式x=(i=4,j=16,k=32)计算后, x 的值为 32 。
5.设 x=,a=7,y=,则 x+a%3*(int)(x+y)%2/4为。
6.设 a=2,b=3,x=,y=,则 (float)(a+b)/2+(int)x%(int)y为。
7.已知: char a= ’a’,b= ’b’,c= ’c’,i;则表达式i=a+b+c的值为38。
8.已知 int a=12,n=5;则:表达式运算后 a 的值各为 0。
a+=a
a-=2
a*=2+3
a/=a+a
n%=(n%=2)
a+=a-=a*=a
9. 设 int a; float f; double i ;则表达式10+’a’+i*f
10. 若 a 为 int型变量,则表达式(a=4*5,a*2) , a+6的值为
11. 假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)
值的数据类型是
26。
的值为9。
double。
12.已知 a,b,c 是一个十进制数的百位,十位,个位,则该数的表达式是a*100+b*10+c 。
13.定义: double x=,y=;则表达式 (int)x*的值是,表达式 y+=x++的值是。
14.定义: int m=5, n=3;则表达式 m/=n+4的值是 0,表达式m=(m=1,n=2,n-m) 的值是1,表达式 m+=m-=(m=1)*(n=2) 的值是 -2。
15.表达式 5%(-3) 的值是2,表达式-5%(-3)的值是 -2 。
16.若 a 是 int 变量,则执行表达式 a=25/3%3 后, a 的值是 2。
三.判断题
1. 在 C 程序中对用到的所有数据都必须指定其数据类型。
【√】
2. 一个变量在内存中占据一定的存储单元。
【√】
3.一个实型变量的值肯定是精确的。
【×】
4. 对几个变量在定义时赋初值可以写成:int a=b=c=3;【×】
5.自增运算符 (++) 或自减运算符 (--) 只能用于变量,不能用于常量或表达式。
【√】
6. 在 C 程序的表达式中,为了明确表达式的运算次序,常使用括号“()”。
7.%运算符要求运算数必须是整数。
【√】
8. 若 a 是实型变量, C程序中允许赋值a=10, 因此实型变量中允许存放整型数。
语言不允许混合类型数据间进行运算。
【×】【√】【×】
四.简答题
1.为什么 C语言的字符型可以进行数值运算?
2.简述‘ a’和“ a”的区别。
3. 程序: int m=12; m=15;为什么整型变量m的值在运算后不是当初的12,而是 15?
五.程序阅读题
1.写出以下程序运行的结果。
main ( )
{
char c1= ’a’,c2= ’b’,c3= ’c’,c4= ’101’,c5= ’116’;
printf(“a%c b%c n”,c1,c2,c3);
printf(“b%c %c”,c4,c5);
}
2.写出以下程序运行的结果。
main ( )
{
int i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf( “%d,%d,%d,%d”,i,j,m,n);
}
输出结果: 9, 11, 9, 10
六.编程题
1.假设 m是一个三位数,则写出将m的个位,十位,百位反序而成的三位数(例如:123 反序为 321)的 C 语言表达式。
2.已知 int x=10,y=12;写出将 x 和 y 的值互相交换的表达式。