C语言复习题
C语言复习题
第一部分 基础与数据类型
一、单项选择题
- 以下哪个是C语言的合法标识符?( C )
A. 2a B. -123 C. _sum D. float - 以下哪个是C语言的合法标识符?( C )
A. 3a_b B. a-b C. _student D. int - 以下哪个不是C语言的关键字?( B )
A. float B. printf C. if D. void - 以下哪种数据类型的占用字节数最小?( B )
A. int B. char C. float D. double - 字符型变量
char c='A';则c在内存中存储的是( B )
A. “A” B. 65 C. ‘65’ D. A - 若定义
int a=5;则执行a += 3;后,a的值为( B )
A. 5 B. 8 C. 3 D. 15 - 若定义
int a=3,b=4;则表达式a*b-6的值为( A )
A. 6 B. 7 C. 8 D. 9 - 若定义
int a = 5, b = 3;则表达式a % b + (a / b)的值是( A )
A. 3 B. 4 C. 5 D. 6 - 若有
int x=3,y=4;则表达式x>y?x:y的结果是( B )
A. 3 B. 4 C. 0 D. 1 - 若有
int a=5,b=3;则表达式a>b?a:b的值是( B )
A. 3 B. 5 C. 0 D. 1 - 若有
int x=5;则执行x--;后,x的值为( A )
A. 4 B. 5 C. 6 D. 不确定 - 若有
int a=6;则表达式a++的值是( B )
A. 5 B. 6 C. 7 D. 不确定
二、填空题
- C语言程序的入口函数是
main()。 - C语言中,单行注释的符号是
//。 - 定义一个整型变量a并赋值为10,语句为
int a = 10;。 - 定义一个单精度浮点型变量x并赋值为3.14,语句为
float x = 3.14;。 - 逻辑与运算符是
&&,逻辑或运算符是||。 - 逻辑非运算符是
!,赋值运算符是=。 - 若定义
float x = 3.14159;要输出x的前3位小数,格式化输出语句应为printf("%.3f", x);。
三、程序结果题
- 下列程序段的输出结果是
x=20 y=10
1 |
|
第二部分 选择和循环结构
一、单项选择题
- 以下关于if-else语句的说法,错误的是( D )
A. if语句后面的条件表达式必须用括号括起来
B. else语句必须与最近的未配对if配对
C. if-else语句中,else后面可以是空语句
D. if-else语句中,else后面要有条件表达式 - 以下关于if-else语句的说法正确的是( C )
A. else必须与最近的if配对
B. else可以单独使用
C. if后面的条件必须加括号
D. 多个if-else不能嵌套 - switch语句中,每个case分支结束后,若想跳出switch,需使用( A )
A. break B. continue C. return D. goto - 以下循环语句中,循环体执行次数为3次的是( A )
A.for(int i=1;i<=3;i++)B.for(int i=0;i<3;i--)
C.while(3>5)D.do{ }while(1>2); - 以下循环语句中,循环体执行次数为5次的是( A )
A.for(int i=0;i<5;i++)B.for(int i=1;i<=4;i++)
C.while(5>10)D.do{ }while(0); - 循环语句
for(int i=0; i<5; i++)中i++执行的次数是( B )
A. 4次 B. 5次 C. 6次 D. 无限次
二、填空题
- 循环结构中,
continue语句用于结束本次循环,开始下一次循环。 - 循环结构中,
break语句用于跳出整个循环,不再执行后续循环。 - 循环语句
while(1)是 无限 循环(填”无限”或”有限”),若要退出该循环,需在循环体内使用break语句。 - 若要计算1+2+3+…+10的和,使用for循环时,循环变量的初始值可以设为
i=1,判断条件(表达式2)为i <= 10。 - 若要计算10-9-8-…-1的差,使用while循环时,循环变量初始值可设为
i=9,判断条件(表达式2)为i>0,循环体中执行i--; sum-=i;。(需先定义sum=10)
三、程序结果题
- 下列程序段的输出结果是
10,30,30
1 | int a=10,b=50,c=30; |
- 下列程序段的输出结果是
1,0
1 | int x=1,a=0,b=0; |
- 下列程序段的输出结果是
a=3,b=12
1 | int a=1, b=2; |
- 下列程序输出结果是
sum=6
1 |
|
第三部分 数组、指针和结构体
一、单项选择题
- 数组
int arr[5]的下标范围是( C )
A. 1-5 B. 0-5 C. 0-4 D. 1-4 - 数组
int arr[]={1,2,3,4,5};的长度是( B )
A. 4 B. 5 C. 6 D. 不确定 - 以下数组定义正确的是( B )
A.int arr[5] = {1,2,3,4,5,6};B.int arr[] = {1,2,3};
C.int arr[5] = {1,,3};D.int arr[] = { }; - 若定义
int a[3][4];,则数组a的元素个数是( B )
A. 7 B. 12 C. 20 D. 不确定 - 以下关于指针的说法正确的是( D )
A. 指针变量存储的是变量的值
B. 指针变量可以直接赋值整数
C. &符号用于获取变量
D. *符号可以用于定义指针变量 - 以下关于指针的说法,正确的是( B )
A. 指针变量存储的是变量的值
B.int *p;定义了一个指向整型变量的指针
C.p = &a;表示将变量a的值赋给指针p
D. 指针变量可以直接进行算术运算,与普通变量相同 - 指针变量的定义格式正确的是( D )
A.int p;B.float p;C.int &p;D.int *p; - 以下哪个是输入函数?( B )
A.printf()B.scanf()C.putchar()D.puts() - 以下哪个是输出单个字符的函数?( C )
A.scanf()B.puts()C.putchar()D.fgets()
二、填空题
- 数组名代表数组的 首 地址,是一个常量,不能被赋值。
- 数组
int num[3]={10,20,30};中,num[2]的值是 30。 - 定义
char ar[]="Hello";则数组ar所占存储空间为 6 个字节。 - 指针变量
p指向整型变量a,则通过指针访问变量a的值的表达式是\*p。 - 若要将字符串
s1复制到字符串s2中,可使用C语言标准库函数strcpy(s2, s1)。 - 定义一个结构体
student,包含姓名(字符数组)和年龄(整型)两个成员,结构体定义语句为:struct student { char name[20]; int age; };
三、程序结果题
- 下列程序段的输出结果是
abXde
1 | char str[]="abcde"; |
- 下列程序输出结果是
1 2 3
1 |
|
第四部分 函数
一、单项选择题
- 函数调用时,实参的值复制给形参,对形参修改不会影响实参的传递方式是( B )
A. 地址传递 B. 值传递 C. 引用传递 D. 随机传递 - 以下关于函数的说法错误的是( A )
A. 函数必须有返回值
B. 函数可以没有参数
C. 主函数main()是程序入口
D. 函数声明需与定义一致
二、填空题
- 函数的声明部分通常放在程序的 开头(开头/结尾)。
- 函数调用时,实参与形参的 类型和数量 必须一致。
三、程序结果题
- 下列程序输出结果是
a=10
1 |
|
第五部分 文件操作
一、单项选择题
- 以下关于文件操作的函数,用于打开文件的是( C )
A.fclose()B.fscanf()C.fopen()D.fprintf() - 以下哪个关键字用于定义常量?( A )
A.constB.staticC.volatileD.auto
第六部分 程序填空题
- 以下程序的功能是计算1到10的累加和,请补充完整。
1 |
|
- 以下程序的功能是计算两个整数的和并输出,请补充完整。
1 |
|
- 以下程序的功能是调用函数
max求两个整数的最大值,请补充完整。
1 |
|
- 以下程序的功能是输出1到10之间的偶数,请补充完整。
1 |
|
- 以下程序的功能是输入一个整数,输出其绝对值,请补充完整。
1 |
|
第七部分 编程题
- 编写一个C语言程序,使用循环计算1到10的阶乘(10! = 1×2×3×…×10),并输出结果。
1 |
|
- 编写一个C语言程序,从键盘输入一个正整数 n,计算并输出 n 的阶乘(n! = 1×2×3×…×n)。要求:输入不合法时(如负数),提示”输入错误,请输入正整数”。
1 |
|
- 编写一个C语言程序,使用循环输出1到10之间的奇数(要求输出格式:1 3 5 7 9)。
1 |
|
- 编写一个C语言程序,输入两个整数a和b,输出其中较大的数(使用if-else语句)。
1 |
|
- Title: C语言复习题
- Author: MapleLeaf
- Created at : 2025-12-28 14:35:47
- Updated at : 2025-12-28 15:12:06
- Link: https://blog.141941.xyz/2025/12/28/20251228/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments