C语言 道练习题及答案
53.以下所列的C语言常量中,错误的是【 b 】
A)0xFF B) 078
C) 2L
D) '\72'
54.以下选项中属于C语言的数据类型是【 c 】
A)复数型 B)逻辑型 C)双精度型 D)集合型
55. 在C语言中,字符型(char)数据在内存中 是以【 d】形式存储的。
A)原码 B)补码 C)反码 D)ASCII码
22.在C语言中,合法的字符常量是 A)'\084' B)'\x43‘ C)'ab' D)"\0"
【 B 】。
23.若有定义和语句: int **pp,*p,a=10,b=20; pp=&p;p=&a;p=&b;printf("%d\n",*p,**pp); 则输出结果是 【D 】。
A)10,20 B)10,10
ANSWER
17.若有定义:int s[4][6],t[6][4],(*p)[6]; 赋值语句是【 C 】。
A)p=t; B)p=s[2]; C)p=s; D)p=t[3];
,则以下正确的
18.若有以下定义,则数组b占用内存的字节数是【 D 】
char b[]=”C language”
A)14 B)15 C)8 D)11
for (i=0; i<3; i++) printf("%d ",x[i][2-i]); A)1 5 9 B)1 4 7 C)3 5 7
D)3 6 9
21.有如下程序 main( ) { int a=10,b=4,c=3;
if(a<b) a=b; if(a<c) a=c; printf(“%d,%d,%d\n”,a,b,c); } 运行后的输出结果是 【 D 】。 A)3,4,10 B)4,4,3 C)3,4,3 D)10,4,3
'\\'
'\'
ལ
'\xf‘
'\a‘
'\}'
'xlf'
41.以下符合C语言语法的赋值表达式是【 B 】 A) d=9+e=d+9 B) d=9+e,f=d+9 C) d=9+e,e++,d+9 D) d=9+e++=d+7
answer
42.若已定义:float aa=1234.5678; 则执行 printf(“%6.2f%d/n”,aa,(int)(aa));
47.C语言中while语句中的判断表达式【 a 】 A)可以是任意有效表达式 B)必须是逻辑表达式 C)必须是关系表达式 D)必须是逻辑或关系表达式
48.表达式3&&6&&9的值是【 d 】 A)3 B)0 D)9 D)1
49.C语言中,若对函数类型无说明,则函数的默认类型 是【 a 】
A)整型 B)float C)double D)指针类型
A)不确定 B)1 C)2 D)3
10.以下程序时,从键盘输入25,13,10<回车>,则输出结 果是【 A 】。
main(){
int a1,a2,a3;
scanf(“%d,%d,%d”,&a1,&a2,&a3);
printf(“a1+a2+a3=%d\n”,a1+a2+a3);
} A.a1+a2+a3=48 B.a1+a2+a3=25 C.a1+a2+a3=10 D.不确定
int i,j,k;
scanf(“%d,%3d%d”,&i,&j,&k);
printf(“%d,%d,%d\n”,i,j,k); A)12345678 B)123,456,78 C)123,45678 D)123,*45678
37.判断char类型的变量c1是否为数字字符的正确表达式 为【 b】。
A)’A’<=c<=’Z’ & (c<=’Z’)
B)(c>=’A’)
C)(c>=’A’) && (c<=’Z’) D)(‘A’<=c) AND (‘Z’>=c)
14.C语言规定:简单变量做实参时,它和对应形参之间 的数据传递方式是【 B 】。
A)地址传递 B)单向值传递 C)由实参传给形参,再由形参传回给实参 D)由用户指定传递方式
56.以下变量x.、y、z均为double类型且已正确赋值,不 正确的C语言表达式是【a 】
A)x/y%z B) x*y*z C) x/y*5.0
D) x+y+(int)z
57.有以下语句 char c; c=a+‘3’-’1’; 执行后c 的值为:【 c 】
32.若int x=10; 则表达式x+(char)1/2.0值的类型是【 b 】
A) int
B) double
C) float
D) unsigned
33.以下不属于C语言关键字的是【 b 】。 A)case B)byte C)do D)float
34.C语言中,以下 不是正确的常量。【 b 】 A)543210L B)05078 C)-0x41 D)12345
C)20,10 D)20,20
24.若有以下定义和语句 char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+"A"); 则输出结果是【 B 】。
A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定
25.在以下一组运算符中,优先级最高的运算符是【 C 】
B)7
C) 14 D)13
answer
6.设说明为 int a[3]={1,2},*p=a; 则*p与*(p+2)的值分别 是【 A 】。
A)1和0 B) 0和1 C) 1和2 D) 2和0
7.设说明为 int a=10; 执行语句 a*=1+2+3;
后a的值是【 d 】。
A) 15
B) 24
C) 33
19. 设 说 明 为 char str[6]={‘a’,’b’,’\0’,’c’,’d’,’\0’}; 执 行 printf(“%s”,str);后输出的结果是【 C 】。 A)abcd B)abc C)ab D)ad
20.定义如下变量和数组: int i; int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是 【 C】。
D)(!(a+b)==c&&a))
39.C语言中的实数可以用多种形式表示,以下四种表示 中,只有【c 】是错误的。
A) 1)23e+6 B)2)13e-4 C)0.3e1.2 D) .1234
40.下面四个选项中, 均是不合法的转义字符的选项是【 b 】
A)'\"' B)'\1011‘ C) '\011' D)'\abc'
35.以下四组中都能正确作为C语言程序标识符
的是【 b 】组。
A)printf
B)sort_1
row
string_to_float
if
PI
C) pow
D) book->name
string
book.price
1_abc
A#B
36.使下列程序段输出“123,456,78”, 由键盘输入数据,正确的输入是【 c 】。
11.putchar函数可以向终端输出一个 【 D 】。 A)整型变量值 B)实型变量值 C)字符串 D)字符或字符变量
12.执行下面程序,屏幕输出的值是【 C 】 int x; printf(“%d\n”,(x=3*5,x+5));
A)10 B)15 C)20 D)5
13.判断字符类型变量c是否为大写字母的正确表达式 是【 C 】。
29.执行语句for(i=10;i>0;i--);后,变量i的值为【 c 】 A)10 B)9 C)0 D)1
30.如果定义一个整型变量int a;,使该变量字节不变, 而正数值的表示范围扩大一倍的方式用【 c 】。
A)signed B)long C)unsigned D)float
31.表达式10 != 9的值是【 c 】。 A) true B)非零值 C) 1 D) 0
A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’)
C) ’0’<=c1<=’9’
D) (c1>=’0’)||(c1<=’9’)
38.若有语句int a=1,b=2,c=3; 则以下值为0的表达式是【 d 】。 A)’a’&&’b’ B)a<=b C)((a>b)||(b<c) )
D),
44.若x,i,j和k都是int型变量,则计算下面表达式后, x的值为【 c 】 x=(i=4,j=16,k=32)
A)4 B)16 C)32 D)52
45.若x,y均定义为int型,z定义为double型,以下不合法 的scanf函数调用语句是【 d】
A) scanf("%d%lx,%le",&x,&y,&z); B) scanf("%2d*%d,%lf",&x,&y,&z); C) scanf("%x%*d,%o",&x,&y); D)scanf("%x%o%6.2f",&x,&y,&z);
c语言考试题及答案以及解析
c语言考试题及答案以及解析1. 选择题1.1 以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A解析:在C语言中,`struct`关键字用于定义一个结构体。
1.2 以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B解析:`atof`函数用于将字符串转换为浮点数。
2. 填空题2.1 定义一个整型变量并初始化为10,使用语句___________。
答案:int a = 10;解析:使用`int`关键字定义一个整型变量`a`,并使用赋值操作符`=`将其初始化为10。
2.2 以下代码段的输出结果是___________。
```c#include <stdio.h>int main() {int i = 5;printf("%d", i++);return 0;}```答案:5解析:`i++`是后缀递增运算符,先输出变量`i`的值,然后`i`的值加1。
3. 编程题3.1 编写一个C语言程序,计算并输出100以内所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```解析:程序使用for循环遍历1到100的整数,通过`if`语句判断是否为偶数,如果是偶数,则累加到变量`sum`中。
最后输出100以内所有偶数的和。
3.2 编写一个C语言程序,实现字符串反转。
```c#include <stdio.h>#include <string.h>void reverseString(char* str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```解析:程序定义了一个`reverseString`函数,使用for循环交换字符串的字符,实现字符串反转。
c语言试题及详细答案
c语言试题及详细答案1. 以下哪个选项是C语言中的关键字?A. intB. floatC. stringD. array答案:A2. 在C语言中,哪个运算符用于计算两个整数的和?A. +B. -C. *D. /答案:A3. 下面哪个选项是C语言中正确的注释方式?A. // 这是一个注释B. /* 这是一个注释 */C. //* 这是一个注释D. /* 这是一个注释 */答案:B4. 在C语言中,以下哪个选项表示的是浮点型变量?A. int a;B. float a;C. char a;D. double a;答案:B5. 以下哪个函数用于输出字符串?A. printf()B. scanf()C. puts()D. getchar()答案:C6. 在C语言中,以下哪个选项表示的是字符型变量?A. int a;B. char a;C. float a;D. double a;答案:B7. 在C语言中,以下哪个选项是正确的函数定义?A. int function() { return 0; }B. int function() { }C. int function() { return 0; }D. int function() { return 1; }答案:C8. 在C语言中,以下哪个选项是正确的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array = {1, 2, 3, 4, 5};答案:A9. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > 0) { ... }B. if (x > 0) ... }C. if (x > 0) { ... }D. if (x > 0) ... }答案:A10. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++) { ... }B. for (int i = 0; i < 10; i++) ... }C. for (int i = 0; i < 10; i++) { ... }D. for (int i = 0; i < 10; i++) ... }答案:A。
c语言试题库及答案
c语言试题库及答案一、选择题1. C语言中,用于定义变量的关键字是()。
A. varB. defineC. intD. let答案:C2. 在C语言中,下列哪个选项是正确的字符串定义方式?()A. char str[] = "Hello";B. char str = "Hello";C. char str[] = 'Hello';D. char str[] = {"Hello"};答案:A3. 下列关于C语言函数的描述中,错误的是()。
A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以嵌套定义D. 函数可以递归调用答案:C二、填空题1. 在C语言中,表示逻辑“与”运算的关键字是 ________。
答案:&&2. C语言中,用于表示“或”逻辑运算的关键字是 ________。
答案:||3. C语言中,用于表示“非”逻辑运算的关键字是 ________。
答案:!三、简答题1. 简述C语言中数组和指针的区别。
答案:数组是一组相同类型的数据项的集合,它们在内存中连续存储,可以通过索引访问。
指针是一个变量,它存储了另一个变量的内存地址。
数组名可以作为指向数组首元素的指针使用,但数组本身是一个固定大小的数据结构,而指针可以动态地指向不同的内存地址。
2. 描述C语言中结构体的定义和使用。
答案:结构体是C语言中一种自定义的数据类型,它允许将不同的数据类型组合成一个单一的数据结构。
定义结构体使用关键字`struct`,后面跟结构体的名称和一对花括号,花括号内定义结构体的成员。
使用结构体时,可以创建结构体变量,并通过点操作符`.`来访问其成员。
四、编程题1. 编写一个C语言程序,实现输入一个整数,输出其绝对值。
```c#include <stdio.h>#include <stdlib.h>int main() {int num, abs_num;printf("请输入一个整数:");scanf("%d", &num);abs_num = (num < 0) ? -num : num;printf("该整数的绝对值是:%d\n", abs_num);return 0;}```2. 编写一个C语言函数,用于计算并返回两个整数的和。
c语言考试题库及答案
c语言考试题库及答案一、选择题1. C语言中,以下哪个选项是正确的整型常量表示?A. 0x12B. 0.123C. 0b1010D. 0123答案:A2. 在C语言中,以下哪个关键字用于声明一个函数?A. structB. intC. voidD. return答案:C3. C语言中,以下哪个选项是合法的变量名?A. 2variableB. variable2C. _variableD. variable-name答案:B4. C语言中,以下哪个选项是正确的字符串字面量表示?A. "Hello, World!"B. 'Hello, World!'C. "Hello", "World!"D. "Hello" 'World!'答案:A5. 在C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int array[10][];D. int array[10][10];答案:A6. C语言中,以下哪个选项是正确的结构体声明?A. struct Student {int age;char name[50];};B. struct {int age;char name[50];} Student;C. struct Student {int age;char name;};D. struct Student {int age;char name[50];} student;答案:A7. 在C语言中,以下哪个选项是正确的指针声明?A. int p;B. int p[];C. int (p)[];D. int p[10];答案:A8. C语言中,以下哪个选项是正确的枚举声明?A. enum Color {Red, Green, Blue};B. enum {Red, Green, Blue} color;C. enum Color {Red, Green, Blue} color;D. enum {Red, Green, Blue};答案:A9. 在C语言中,以下哪个选项是正确的联合体声明?A. union Data {int i;float f;char str[20];};B. union {int i;float f;char str[20];};C. union Data {int i;float f;char str[20];} data;D. union Data data;答案:C10. C语言中,以下哪个选项是正确的函数声明?A. int add(int x, int y);B. int add();C. int add(int, int);D. int add(int x, int y) {}答案:A二、填空题1. 在C语言中,`printf`函数用于______。
c语言试题及答案解析
c语言试题及答案解析一、选择题(每题2分,共10分)1. 下列哪个关键字用于定义C语言中的结构体?A. structB. unionC. enumD. typedef答案:A2. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A3. 在C语言中,以下哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A4. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. intD. _variable答案:B5. C语言中,以下哪个函数用于计算字符串的长度?A. strcpyB. strcatC. strcmpD. strlen答案:D二、填空题(每题2分,共10分)1. C语言中,用于定义变量的关键字是________。
答案:int2. C语言中,用于定义函数的关键字是________。
答案:void3. 在C语言中,________运算符用于比较两个值是否相等。
答案:==4. C语言中,________关键字用于定义数组。
答案:array5. C语言中,________函数用于输出格式化的数据。
答案:printf三、简答题(每题5分,共20分)1. 简述C语言中指针的作用。
答案:指针在C语言中用于存储变量的内存地址,它允许直接访问和操作内存中的数据。
2. 解释C语言中的递归函数。
答案:递归函数是在其定义中调用自身的函数,它通常用于解决可以分解为更小相似问题的任务。
3. 描述C语言中数组和指针的关系。
答案:在C语言中,数组名可以被用作指向数组首元素的指针,而数组元素可以通过指针进行访问。
4. 什么是C语言中的预处理器指令?答案:预处理器指令是C语言中的特殊指令,用于在编译之前对源代码进行处理,如包含头文件、定义宏等。
四、编程题(每题10分,共20分)1. 编写一个C语言函数,计算两个整数的和并返回结果。
c语言试题及答案解析
c语言试题及答案解析一、选择题1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级编程语言。
B. C语言可以直接被计算机执行。
C. C语言具有结构化编程的特性。
D. C语言支持多文件编程。
答案:B解析:C语言是一种高级编程语言,它需要编译器将其编译成机器语言后,计算机才能执行。
C语言支持结构化编程,并且可以进行多文件编程。
2. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. returnC. voidD. function答案:C解析:在C语言中,关键字`int`用于定义函数的返回类型,`return`用于从函数返回值,`void`表示函数没有返回值,而`function`并不是C语言的关键字。
正确的关键字用于定义函数的是`void`,但通常与函数名一起使用,例如`void functionName() {}`。
二、填空题1. C语言标准库函数_________()用于将字符串转换为浮点数。
答案:atof解析:`atof`函数是C语言标准库中的一个函数,它用于将字符串转换为浮点数。
2. 在C语言中,_________运算符用于计算两个整数的差值。
答案:-解析:在C语言中,减号`-`运算符用于计算两个整数的差值。
三、简答题1. 简述C语言中指针的概念及其作用。
答案:指针是C语言中一个重要的概念,它是一个变量,其值是另一个变量的内存地址。
指针的作用包括:- 直接访问内存,提高程序的运行效率。
- 实现动态内存分配。
- 作为函数参数,实现函数对变量的间接操作。
- 实现复杂的数据结构,如链表、树等。
解析:指针是C语言中用于存储变量地址的变量,它使得程序能够直接操作内存地址,从而实现高效的数据处理和复杂的数据结构。
2. 描述C语言中数组的声明和初始化方法。
答案:在C语言中,数组的声明和初始化可以通过以下方式进行:- 声明:使用`type arrayName[arraySize];`的格式,其中`type`是数据类型,`arrayName`是数组名,`arraySize`是数组的大小。
C语言考试试题及答案
C语言考试试题及答案一、选择题(每题2分,共20分)1. C语言的标识符可以由哪些字符组成?A. 数字、字母和下划线B. 数字和字母C. 数字、字母和特殊字符D. 字母和下划线2. 在C语言中,哪个关键字用于声明整型变量?A. floatB. intC. doubleD. char3. 下面哪个选项是C语言的逻辑运算符?A. &&B. ||C. >>D. ++4. 在C语言中,哪个函数用于输出字符串?A. printfB. scanfC. putcharD. puts5. 以下哪个选项是C语言的循环控制语句?A. ifB. switchC. whileD. break二、填空题(每题2分,共20分)6. 在C语言中,声明一个整型变量的关键字是______。
7. 以下程序段的输出结果是______。
```cint a = 5;printf("%d\n", a++ + ++a);```8. 在C语言中,用于定义数组的标识符是______。
9. 下面程序的输出结果是______。
```cint a = 3, b = 4;printf("%d\n", a > b ? a : b);```10. 在C语言中,用于表示整型常量的关键字是______。
三、判断题(每题2分,共20分)11. C语言中的变量在使用前必须先声明。
()12. 在C语言中,数组的下标从0开始。
()13. C语言的switch语句中,case后面必须跟一个break语句。
()14. 在C语言中,逗号运算符的优先级最高。
()15. C语言的函数可以没有返回值。
()四、编程题(每题20分,共40分)16. 编写一个C程序,实现以下功能:输入10个整数,计算并输出它们的平均值。
17. 编写一个C程序,实现以下功能:输入一个字符串,将其中的小写字母转换为大写字母,大写字母转换为小写字母,并输出结果。
c语言考试题及答案
c语言考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. floatC. returnD. void答案:D2. C语言中,哪个运算符用于计算两个整数的乘积?A. +B. -C. *D. /答案:C3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B4. 在C语言中,以下哪个选项用于定义一个整型变量?A. int a;B. float a;C. double a;D. char a;答案:A5. C语言中,哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A6. 在C语言中,以下哪个选项是正确的数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int a = {1, 2, 3, 4, 5};C. int a[5] = {1, 2, 3};D. int a = 5;答案:A7. C语言中,哪个关键字用于循环结构?A. ifB. switchC. forD. while答案:C8. 在C语言中,以下哪个选项是正确的二维数组声明?A. int a[2][3];B. int a[][];C. int a[3][2] = {{1, 2}, {3, 4}, {5, 6}};D. int a[2][3] = {1, 2, 3, 4, 5, 6};答案:A9. C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A10. 在C语言中,以下哪个选项是正确的结构体声明?A. struct Student { int id; char name[50]; };B. struct { int id; char name[50]; } Student;C. struct Student { int id; char name; };D. struct { int id; char name[50]; };答案:A二、填空题(每题2分,共20分)1. C语言中,用于声明一个字符型变量的关键字是________。
c语言试卷集(10套)-试题及答案
c语言试卷集(10套)-试题及答案一、选择题(每题2分,共20分)1. 在C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言的标准库函数?A. printfB. scanfC. strcpyD. strlen答案:C3. 在C语言中,下列哪个运算符用于比较两个值是否不相等?A. ==B. !=C. <=D. >=答案:B4. 下列哪个选项不是C语言中的合法变量名?A. _myVarB. my_varC. 2myVarD. myVar答案:C5. 在C语言中,下列哪种类型的数组可以存储多个字符串?A. int arr[10];B. char arr[10];C. char arr[10][10];D. float arr[10];答案:C6. 在C语言中,下列哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C7. 在C语言中,下列哪个选项不是合法的循环语句?A. forB. whileC. do-whileD. repeat-until答案:D8. 在C语言中,下列哪个选项用于定义一个指针?A. *pB. &pC. pD. p*答案:A9. 在C语言中,下列哪个关键字用于定义一个宏?A. defineB. macroC. constD. typedef答案:A10. 在C语言中,下列哪个选项用于定义一个枚举类型?A. enumB. typedefC. structD. union答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个单精度浮点型变量。
答案:float2. 字符串字面量在C语言中使用________符号括起来。
答案:"3. C语言中,使用________运算符可以计算两个整数的和。
C语言经典练习题50道(附答案)
1.**打印Hello World**练习:编写一个C程序,打印"Hello,World!"到屏幕上。
#include<stdio.h>int main(){printf("Hello,World!\n");return0;}2.**计算两个整数的和**练习:编写一个程序,接受两个整数,然后计算它们的和并打印结果。
#include<stdio.h>int main(){int a=5,b=7;int sum=a+b;printf("Sum:%d\n",sum);return0;}3.**判断奇数或偶数**练习:编写一个程序,接受一个整数,然后判断它是否为奇数或偶数。
#include<stdio.h>int main(){int num=10;if(num%2==0){printf("%d is even.\n",num);}else{printf("%d is odd.\n",num);}return0;}4.**计算阶乘**练习:编写一个程序,计算给定整数的阶乘。
#include<stdio.h>int main(){int n=5;int factorial=1;for(int i=1;i<=n;i++){factorial*=i;}printf("Factorial of%d is%d\n",n,factorial);return0;}5.**反转字符串**练习:编写一个程序,接受一个字符串,然后反转它并打印出来。
#include<stdio.h>#include<string.h>int main(){char str[]="Hello,World!";int len=strlen(str);for(int i=len-1;i>=0;i--){printf("%c",str[i]);}printf("\n");return0;}6.**检查素数**练习:编写一个程序,判断一个整数是否为素数。
