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值是。
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 - 5 ACAAC6 - 10 AABCD11 - 15 DADAB填空题:1.答案:(1) %d (2)%Ld (3)%f (4)%e (5)%f(6)%e (7) %c (8) %d (9)%s2.答案:一一对应关系:格式串与输入项的个数要相同,顺序要一致,类型要匹配3.答案:(1)int n,d2,d0 (2) d2=n/100 (3) d0=n%10 (4)d2 * 100+d04.答案:①12.770000 ②A ③795.答案:1,0问答题1.解:字符型常量与字符串常量的书写方式不同,用单引号括起来的字符是字符常量,用双引号括起来的字符是字符串常量。
字符串常量与字符型常量的存储方式不同,C编译程序在存储字符串常量时,自动采用\0作为字符串常量的结束标志。
2.答案:(1)-1 (2)1(3)12 (4)103.解:正确程序如下。
#include <stdio.h>void main( ) /*修改*/{float f=7.12;char c='c'; /*修改*/printf("%d\n",(int)f%3); /*修改*/printf("%c",c);}4.答:错误的地方如下:(1)变量k的值溢出,不能得到正确结果。
(2)变量x和y未赋初值。
5.答:输出结果为:i=-1 j=-1编程题【分析与解答】(1)定义4个双精度变量a、b、c和ave,变量a、b、c分别存放读入的3个双精度数,ave存放它们的平均值。
(2)设计输入语句,以及在此之前用于提示输入的(printf)语句。
(3)设计求平均值的算法,把所求得平均值放入变量ave中。
(4)设计把变量ave中的数,从小数点后第二位数进行四舍五入的算法。
现举例说明:若ave中的数为123.4644,为了保留此值小数点后一位,可用表达式:(int)(123.4644*10)/10.0;依次推算,为了保留此值小数点后二位,可用表达式:(int)(123.4644*100)/100.0;其他依次类推。
c语言习题及答案
c语言习题及答案C语言习题及答案C语言是一种广泛应用于系统软件和应用软件开发的高级程序设计语言。
对于初学者来说,掌握C语言的基础知识是非常重要的。
为了帮助大家更好地学习C语言,下面将介绍一些常见的C语言习题及答案。
1. 什么是C语言的基本数据类型?请列举并简要介绍每种数据类型。
答:C语言的基本数据类型包括整型(int)、字符型(char)、浮点型(float)、双精度浮点型(double)和无类型(void)。
其中,整型用于表示整数,字符型用于表示单个字符,浮点型和双精度浮点型用于表示小数,无类型用于表示没有值的特殊情况。
2. 编写一个C程序,实现输入两个整数,然后输出它们的和。
答:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和为:%d\n", sum);return 0;}```3. 编写一个C程序,实现输入一个字符,然后判断它是大写字母、小写字母还是数字。
答:```c#include <stdio.h>int main() {char ch;printf("请输入一个字符:");scanf("%c", &ch);if (ch >= 'A' && ch <= 'Z') {printf("它是大写字母\n");} else if (ch >= 'a' && ch <= 'z') {printf("它是小写字母\n");} else if (ch >= '0' && ch <= '9') {printf("它是数字\n");} else {printf("它是其他字符\n");}return 0;}```通过以上习题的学习,相信大家对C语言的基础知识有了更深入的了解。
自定义数据类型习题及答案(C语言)
第7章自定义数据类型习题一.选择题:1.当定义一个结构体变量时,系统分配给它的内存空间是【】。
A) 结构中一个成员所需的内存量 B) 结构中最后一个成员所需的内存量 C) 结构体中占内存量最大者所需的容量 D) 结构体中各成员所需内存量的总和2.若有以下说明,对初值中整数2的正确引用方式是【】。
static struct{char ch;int i;double x;} a[2][3]={{‘a’,1,3 .45,’b’,2,,’c’,3,}{‘d’,4,,’e’,5,,’f’,6, }};A) a[1][1].i B) a[0][1].i C) a[0][0].i D) a[0][2].i3.根据以下定义,能打印字母M的语句是【】。
struct p{char name[9];int age;}c[10]={“Jobn”,17,”Paul”,19,”Mary”,18,”Adam”,16};A) printf(“%c”,c[3].name); B) printf(“%c”,c[3].name[1]);C) printf(“%c”,c[2].name); D) printf(“%c”,c[2].name[0]);4.以下说明和语句中,已知int型数据占两个字节,则以下语句的输出结果是【】。
struct st{char a[l0];int b;double c;};printf(“%d”,sizeof(struct st));A) 0 B) 8 C) 20 D) 25.以下说明和语句中,对结构体变量std中成员id的引用方式不正确的是【】。
struct work{int id;int name;} std, *p;p=&std;A) B) * C) (*p).id D) &6.如设有如下定义,若要使px指向rec中的成员x,正确的赋值语句是【】。
struct aa{int x;float y;}rec, *px;A) *px=;B) px=&C) px=(struct aa*);D) px=(struct aa*)&;7.下列程序的输出结果是【】。
C语言(数据类型与运算符)习题与答案
一、单选题1、表达式:(int)((double)9/2)-(9)%2 的值是A.1B.0C.4D.3正确答案:D解析: D、整数除以整数,结果为整数2、若有定义语句:int x=10; ,则表达式 x-=x+x 的值为A.0B.-10C.10D.20正确答案:B3、以下选项中,不能作为合法常量的是A.1.234e+4B.1.234e04C.1.234e0.4D.1.234e0正确答案:C解析: C、指数次数必须为整型4、下列选项中,不能用作标识符的是A.int_2_B.i_nt123C. _1234_D.2_int_正确答案:D5、设有定义:float a=2,b=4,h=3; 以下C语言表达式与代数式(a+b)/2 × h 计算结果不相符的是A.(1/2)*(a+b)*hB.h/2*(a+b)C.(a+b)*h/2D.(a+b)*h*1/2正确答案:A二、填空题1、若有定义语句:int a=5;,则表达式:a++ 的值是________。
正确答案:5解析:相当于 y=a++,求y的值,++在后,先使用a的值赋给y,之后再给a增1 2、若有语句 double x=17; int y; ,当执行 y=(int)(x/5)%2;之后y 的值为 ________。
正确答案:1解析: %运算要求两数为整数,结果为整数3、设有语句char a='\072';则变量a最终获得________个字符?(仅填写具体阿拉伯数字)正确答案:1解析:这是一个转义字符4、一个float型变量占________个字节?(仅填写具体阿拉伯数字)正确答案:45、int a=5,b=6,c=7,f; f=c>b>a ;f的最终结果是________。
正确答案:0解析:关系运算只能两两判断。
c语言数据类型考试题目及答案
c语言数据类型考试题目及答案一、选择题1. 在C语言中,以下哪个数据类型用于存储字符?A. intB. charC. floatD. double答案:B2. 一个int类型的变量通常占用多少字节的内存空间?A. 1B. 2C. 4D. 8答案:C3. 以下哪个选项不是C语言中的基本数据类型?A. intB. floatC. structD. void答案:D4. 一个float类型的变量占用的字节数是多少?A. 2B. 4C. 8D. 16答案:B5. 以下哪个关键字用于定义指针类型?A. intB. charC. floatD. *答案:D二、填空题1. 在C语言中,________关键字用于声明一个整型变量。
答案:int2. 一个________类型的变量可以存储一个布尔值。
答案:_Bool3. C语言中,________关键字用于声明一个双精度浮点数。
答案:double4. 一个指针变量可以存储一个________值。
答案:地址5. C语言中,________关键字用于声明一个无符号整型变量。
答案:unsigned int三、简答题1. 请解释C语言中的静态数据类型和动态数据类型的区别。
答案:静态数据类型是指在编译时就确定大小的数据类型,如int、float等。
动态数据类型是指在运行时确定大小的数据类型,如指针和动态分配的数组。
2. 描述C语言中数组和指针的关系。
答案:在C语言中,数组名可以被看作指向数组首元素的指针。
通过指针运算,可以访问数组中的元素。
四、编程题1. 编写一个C程序,计算并输出以下表达式的值:(5 + 3.14) / 2。
答案:```c#include <stdio.h>int main() {double result = (5 + 3.14) / 2;printf("The result is: %f\n", result);return 0;}```2. 请编写一个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_y234.属于合法的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).8e-4A)03e2 B)-8e5 C)+2e-1 D)5.e-08.在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=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中(B),是正确的。
c语言入门试题及答案
c语言入门试题及答案1. 以下哪个选项是C语言中正确的数据类型?A) intB) floatC) stringD) all of the above答案:D2. C语言中,用于定义一个整型变量的关键字是什么?A) varB) intC) letD) type答案:B3. 在C语言中,如何声明一个浮点型数组?A) int array[10];B) float array[10];C) double array[10];D) real array[10];答案:B4. 下列哪个选项是C语言中正确的注释方式?A) // This is a commentB) /* This is a comment */C) // This is a commentD) # This is a comment答案:A5. C语言中,用于定义一个字符串的关键字是什么?A) stringB) charC) textD) none of the above答案:B6. 在C语言中,如何打印一个字符串?A) printf("Hello, World!");B) print("Hello, World!");C) cout << "Hello, World!";D) echo "Hello, World!";答案:A7. 下列哪个选项是C语言中正确的函数定义?A) int function() { return 0; }B) int function() { return 0; }C) void function() { }D) all of the above答案:D8. 在C语言中,如何计算两个整数的和?A) int sum = a + b;B) int sum = add(a, b);C) int sum = a + b;D) both A and B答案:D9. C语言中,如何声明一个指向整型的指针?A) int *ptr;B) pointer int ptr;C) int ptr;D) int *ptr;答案:A10. 在C语言中,如何交换两个变量的值?A) temp = a; a = b; b = temp;B) swap(a, b);C) a = a + b; b = a - b; a = a - b;D) all of the above答案:A11. C语言中,如何定义一个结构体?A) struct MyStruct { int a; float b; };B) type MyStruct { int a; float b; };C) class MyStruct { int a; float b; };D) struct MyStruct { int a; float b; }; 答案:A12. 下列哪个选项是C语言中正确的条件语句?A) if (condition) { /* code */ }B) switch (condition) { /* code */ }C) case (condition): /* code */D) all of the above答案:A13. 在C语言中,如何定义一个枚举类型?A) enum Color { Red, Green, Blue };B) enum Color { 0 Red, 1 Green, 2 Blue };C) list Color { Red, Green, Blue };D) all of the above答案:A14. C语言中,如何定义一个宏?A) #define PI 3.14159B) const double PI = 3.14159;C) const double PI = 3.14159;D) both A and B答案:A15. 下列哪个选项是C语言中正确的数组初始化方式?A) int array[5] = {1, 2, 3, 4, 5};B) int array[5] = {1, 2, 3};C) int array[] = {1, 2, 3, 4, 5};D) all of the above答案:D。
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_y234.属于合法的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).8e-4A)03e2 B)-8e5 C)+2e-1 D)5.e-08.在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=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中(B),是正确的。
(完整版)C语言考试题库及答案
(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。
()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。
()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。
()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。
答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。
答案:911. 在C语言中,用于动态分配内存的函数是______。
答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。
答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
C语言习题(前五章)参考答案
C 语言习题参考答案第一部分 C 语言基础一、判断题1.对 2.错 3.对 4.对 5.错 6.错第二部分 数据类型、运算符及表达式一、选择题 1.AD 2.B 3.(1)CD (2)BD (3)C (4) B 5.B6.D /*赋值时,若有溢出,则只截取低位*/ 7.(1)AB (2)BD (3)ABCD 8.C 9.D10.C /*A,B 赋值运算符左值只能是变量,不能是表达式或常量,D 是逗号语句*/12.B /*赋值运算符优先级比逗号表达式高*/ 13.A14.D /*八进制数中,合格字符只能是0~7*/ 15.A /*二进制补码*/16.A /*八进制数中,合格字符只能是0~7*/ 17.D 19.B 20.D21.B /*赋值运算符右值的数据类型强制转换为左值的数据类型*/ 22.ABD 23.D 24.C 25.ABD 二、填空题1. 1 , -128~127 ; 2 , -32768~32767 ; 4 ,-2147483648~2147483647 ; 4 ,383810~10 。
3. 单引号, 双引号 。
4. 优先级 , 结合性 。
6. 2.5 。
7. 3.5 。
11. 24 , 10 , 60 , 0 , 12 , 0 12. double 。
14. 9 。
16. 1.5 , 1 。
18. 2 , -2 。
/*余数符号仅由被除数的符号决定*/ 三、判断题1.错 /*如常量*/3.错 /*如float 只能准确表示7位有效数字,多余的位数是近似表示*/4.错5.对6.对 10.错 四、简答题4写出下列各数的二进制补码(写成16为二进制形式):32: 0000 0000 0010 0000 -1: 1111 1111 1111 1111 -32768:1000 0000 0000 0000 2002: 0000 0111 1101 0010 -128: 1111 1111 1000 0000 0: 0000 0000 0000 0000 五、程序阅读 1.aabb[4个空格]cc[6个空格]c A 6 2.9,11,9,10第三部分 顺序结构一、选择题 2.D3.B /*假设int 占2个字节*/4.D5.C 7.C 8.B 9.D 10.B11.C /*D ,scanf 函数的格式符中不能规定小数位数*/ 12.A /*格式控制符:%2d%2d%3d,输入时,前两个空格对应的数字赋给a ,紧挨着的两个空格的位置赋给b*/ 13.C 14.D 15.D 二、填空题 6. %8. -10 12 410.34[回车] 题目补充:scanf 函数的调用形式为:scanf(“%d%d%f ”,&i,&j,&x); 。
c语言分章节试题及答案
c语言分章节试题及答案1. 变量声明- 题目:在C语言中,以下哪个选项是正确的变量声明方式?A. int a = 0;B. int a = 0.0;C. int a = "hello";D. int a = 0, b = 0;- 答案:A和D。
2. 数据类型- 题目:以下哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string- 答案:D。
3. 运算符优先级- 题目:在C语言中,以下哪个运算符的优先级最高?A. 乘法B. 加法C. 赋值D. 条件运算符- 答案:A。
4. 函数定义- 题目:以下哪个是正确的C语言函数定义?A. int myFunction(int a, int b) { return a + b; }B. int myFunction(int a, int b) { return a - b; }C. int myFunction(int a, int b) { return a * b; }D. All of the above- 答案:D。
5. 数组初始化- 题目:以下哪个是正确的C语言数组初始化方式?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[5] = {1, 2, 3};C. int arr[5] = {1, 2, 3, 4};D. int arr[5] = {1, 2, 3, 4, 5, 6};- 答案:A。
6. 指针- 题目:以下哪个选项正确地声明了一个指向整数的指针?A. int *ptr;B. int ptr[];C. int *ptr = 0;D. int ptr = 0;- 答案:A和C。
7. 字符串操作- 题目:以下哪个函数用于比较两个字符串是否相等?A. strcat()B. strcmp()C. strcpy()D. strlen()- 答案:B。
8. 条件语句- 题目:以下哪个是C语言中正确的if语句?A. if (x > 10)x = 20;B. if (x > 10)x = 20C. if (x > 10)x = 20;else x = 10;D. All of the above- 答案:A。
- 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 的值互相交换的表达式。