1、c语言-数据类型与运算符(含答案)详解
- 格式:doc
- 大小:78.00 KB
- 文档页数:8
C语言入门试题及答案试题一:数据类型和运算符1. 请简要描述C语言中的整型数据类型,并列举相应的关键字。
2. 解释一下算术运算符和逻辑运算符,并给出相应的示例代码。
3. 编写一个程序,要求用户输入两个整数,然后输出它们的和。
答案:1. C语言中的整型数据类型包括:int、short、long和char。
相应的关键字分别为:int、short、long和char。
2. 算术运算符可以进行基本的加减乘除运算,包括:加法(+)、减法(-)、乘法(*)和除法(/)。
逻辑运算符用于进行逻辑判断,包括:与(&&)、或(||)和非(!)。
示例代码如下:算术运算符示例代码:```c#include <stdio.h>int main() {int a = 10;int b = 5;int sum = a + b;int difference = a - b;int product = a * b;int quotient = a / b;printf("Sum: %d\n", sum);printf("Difference: %d\n", difference); printf("Product: %d\n", product);printf("Quotient: %d\n", quotient);return 0;}```逻辑运算符示例代码:```c#include <stdio.h>int main() {int a = 5;int b = 10;int result1 = (a > 0) && (b < 20);int result2 = (a > 0) || (b > 20);int result3 = !(a > 0);printf("Result 1: %d\n", result1);printf("Result 2: %d\n", result2);printf("Result 3: %d\n", result3);return 0;}```3. 编写一个程序,要求用户输入两个整数,然后输出它们的和。
c语言运算符号详解(二)C语言运算符号详解简介C语言是一种通用的编程语言,广泛应用于系统开发,嵌入式系统和高性能计算等领域。
运算符是C语言中用来进行各种运算操作的符号,本文将详细介绍C语言中常用的运算符。
算术运算符•+:求两个数的和。
•-:求两个数的差。
•*:求两个数的乘积。
•/:求两个数的商。
•%:求两个数的余数。
关系运算符•==:判断两个数是否相等。
•!=:判断两个数是否不等。
•>:判断左边的数是否大于右边的数。
•<:判断左边的数是否小于右边的数。
•>=:判断左边的数是否大于等于右边的数。
•<=:判断左边的数是否小于等于右边的数。
逻辑运算符•&&:逻辑与,判断两个条件是否同时成立。
•||:逻辑或,判断两个条件是否至少有一个成立。
•!:逻辑非,取反操作。
位运算符•&:按位与,对于两个操作数的每一个对应位,当且仅当两个位都为1时为1。
•|:按位或,对于两个操作数的每一个对应位,当且仅当两个位都为0时为0。
•^:按位异或,对于两个操作数的每一个对应位,当且仅当两个位不相同时为1。
•<<:左移运算符,在二进制表示的数值的右边补0。
•>>:右移运算符,在二进制表示的数值的左边补0。
赋值运算符•=:将右边的值赋给左边的变量。
•+=:将右边的值加上左边的变量,并将结果赋给左边的变量。
•-=:将右边的值减去左边的变量,并将结果赋给左边的变量。
•*=:将右边的值乘以左边的变量,并将结果赋给左边的变量。
•/=:将左边的变量除以右边的值,并将结果赋给左边的变量。
其他运算符•sizeof:获取变量或数据类型所占的字节数。
•&:取地址运算符,获取变量的内存地址。
•*:指针运算符,用于声明指针和通过指针访问变量。
以上是C语言中常见的运算符,掌握这些运算符的使用方法对于编写高效、准确的程序非常重要。
希望本文能够对读者理解和学习C 语言运算符有所帮助。
(完整)C语言-数据类型习题及答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)C语言-数据类型习题及答案)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)C语言-数据类型习题及答案的全部内容。
第二章数据类型,运算符与表达式一.选择题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)Char3.在以下各组标识符中,合法的标识符是(4).(1)A)B01 B)table_1 C) 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)5876273 B)0L C)2E10 D)(long)58762735.下面选项中,不是合法整型常量的是(B)。
A)160 B)-0xcdg C)-01 D)-0x48a6.判断int x = 0xaffbc;x的结果是(B)(turbo c 版本) . A)赋值非法 B)溢出 C)为affb D)为ffbc7.下面选项中,均是合法浮点数的是(B)。
A)+1e+1 B)-。
60 C)123e D)-e3A)5e-9.4 B)12e-4 C)1.2e-.4 D)。
一、选择题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语言用户标识符的一组标识符是( 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 ) 。
A. voidB. intC. newD. long11. 假定a为一个整型数组名,则元素a[4]的字节地址为(B) 。
A. a+4B. a+8C. a+16D. a+3212. 字符串”a+b=12\n”的长度为(B )。
A. 6B. 7C. 8D. 913. 假定下列x和y均为int型变量,则不正确的赋值为( B )。
A. x+=y++B. x++=y++C. x=++yD. ++x=++y14. 设有以下定义int a=0;double b=1.25;char c=’A’;#define d 2( D )A.a++;B. b++C. c++;D.d++;15. 设x和y均为bool量,则x&&y为真的条件是( A) 。
A. 它们均为真B. 其中一个为真C. 它们均为假D. 其中一个16.以下叙述中正确的是(A)A. C程序中注释部分可以出现在程序中任意合适的地方B.花括号"{"和"}"只能作为函数体的定界符C.构成C程序的基本单位是函数,所有函数名都可以由用户命名D.分号是C语句之间的分隔符,不是语句的一部分17.以下不能定义为用户标识符的是(D)A scanfB V oidC _3com_D int18. 若有定义:int*p[3];,则以下叙述中正确的是(B)A.定义了一个基类型为int的指针变量p,该变量具有三个指针B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针C.定义了一个名为*p的整型数组,该数组含有三个int类型元素D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素19.已定义c为字符型变量,则下列语句中正确的是(C)A. c='97';B. c="97";C. c=97;D. c="a";20.以下选项中非法的表达式是( D )A .0<=x<100B .i=j==0C. (char)(65+3) D x+1=x+121. 如有int a=11;则表达式(a/1)的值是(D)A.0B.3C.4 D1122. 以下叙述中正确的是( B )A.C语言的源程序不必通过编译就可以直接运行B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令C.C源程序经编译形成的二进制代码可以直接运行D. C语言中的函数不可以单独进行编译23. 若以下选项中的变量已正确定义,则正确的赋值语句是( C )A. x1=26.8%3B. 1+2=x2C.x3=0x12D.x4=1+2=3;24. 在int a=3,int *p=&a;中,*p的值是( D)A.变量a的地址值B.无意义C.变量p的地址值D.325. 合法的常量是——(A)A.‘program’ B. –e8 C.03x D.0xfl26. C语言中的变量只能由字母。
数字和下划线组成,且第一个字符---(C)A.必须是字母 B.必须是下划线C.必须是下划线和字母 D.可以是字母.数字或下划线中任一一种27.已知A=10,B=20,下类表达式正确的是(C)A.C=(A++)*(——B)=200B. A—=30C.C=(A++)+(B——)=30D.C=(++A)*(——B)=21028.要求当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,以下不满足要求的表达式是(D)A.A%2==1 B。
!(A%2==0)C. A%2D.!(A%2)29. 下面不正确的字符赋值或赋初值的方式为——(C)A.char s[10]=”hello!”B.char s[10]={‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ‘!’}C.char s[10];s=”hello”D.char[ ]=”hello!”30. 字符组a[20]和b[20],下面正确的输出语句是——(D)A.put(a,b)B.prinf(“%s,%s,a[ ],b[ ]C.putchar(a,b)D.puts(a); puts(b)31. C语言中,要求参加运算的数必须是整数的运算符是(C)A./B.!C.%D.==32. 以下符号中不能作为标识符的是:(D)A_256 Bvoid C.vanf D4Struct33. 按照标识符的要求,(D)符号不能组成标识符。
A.连接符B.下划线C.大小写字母D.数字字符34. C语言中的基本数据类型所占存储空间长度的顺序是( A )A . char<=int<=float<=double<=longB . int<=char<=float<=long<=doubleC . int<=long<=float<=double<=charD. char<=int<=float<=long<=double35. 若x,i,j和k都是int型变量,则执行下面表达式后x的值为( C )x=(i=4,j=16,k=32)A.4B.16C.32D.5236. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( B ):A.7B.8C.6D.237. 已知各变量的类型说明如下:int k,a,b;unsigned long w= 5;double x=1.42;则以下不符合C语言语法的表达式是( A ):A. x%(一3)B. w+=-2C.k=(a=2,b=3,a十b)D.a十= a一=(b=4)*(a=3)38. 已知各变量的类型说明如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是( A )A. a十=a一=(b= 4)*(a=3)B.a=a*3=2C .x%(一3) D.y=f1oat(i)39. 以下不正确的叙述是( D )A.在C程序中,逗号运算符的优先级最低B.在C程序中,APH和aph是两个不同的变量C.若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。
D.当从键盘输入数据时,对整型变量只能输入整型数值,对实型变量只能输入实型数值。
40. 以下正确的叙述是:( D )A.在C程序中,每行中只能写一条语句B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C.在C程序中,无论是整数还是实数,都能被准确无误地表示D.在C程序中,%是只能用于整数运算的运算符41. 以下符合C语言语法的赋值表达式是( B )Ad=9+e+f=d+9 B d=9+e,f=d+9Cd=9十e,e++,d十9 Dd=9十e++=d十742. 在C语言中,要求运算数必须是整型的运算符是。
( B )A./ B .++ C. != D.%43. 若以下变量均是整型,且num=sum=7;则执行表达式sUM=num++,sUM++,++num后sum 的值为( A )A.7 B .8 C. 9 D .1044. 在C语言中,int、char和short种类型数据在内存中所占用的字节数( D )A.由用户自己定义B.均为2个字节C.是任意的D.由所用机器的机器字长决定45. 若有说明语句:char c='\72'则变量c ( A )A.包含1个字符B.包含2个字符C.包含3个字符D.说明不合法,c的值不确定46. 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( A )A. 2.500000B.2.7500OOC. 3.500000D. 0.000000。
47. sizeof(float)是: ( B )A.一个双精度型表达式B.一个整型表达式C.一种函数调用D.一个不合法的表达式48. 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( C )A.intB. floatC.doubleD.不确定49. 在C语言中, char型数据在内存中的存储形式是( D )A.补码B.反码C.原码D.ASCII码50. 设变量n为f1oat类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五人运算的表达式是( B )A. n=(n*100+0.5)/100.0B.m=n*100+0.5 ,n= m/100.0C. n=n*100+0.5/100.0D.n=(n/100+0.5)*100.051. 表达式18/4*sqrt(4.0)/8值的数据类型为( C )A. intB.floatC.doubleD.不确定52. 设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为:(C )A.0~255B. 0~32767C. 0~65535D.0~214748364752. 设有说明: char w; int x; f1oat y; double z;则表达式w* x+z一y值的数据类型为( D )A.floatB.charC.intD.double54. 设以下变量均为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+l,x = y,x+1)55. printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。