C语言基础知识练习
来源:互联网 发布:吉利知豆电动车官网 编辑:程序博客网 时间:2024/05/22 06:52
传送门:C语言基础知识梳理总结
练习一
一、填空题:
1. 在C语言程序中,用关键字 Int 定义基本整型变量,用关键字 loat定义单精度实型变量,用关键字 char 定义字符型变量。
2. 程序结构包括三种: 顺序结构 、 循环结构 、 选择结构
二、选择题:
1. C语言程序是由( C )构成的。
A)一些可执行语言 B)main函数 C)函数 D)包含文件中的第一个函数
2. ( A )是构成C语言程序的基本单位。
A、函数 B、过程 C、子程序 D、子例程
3. 不是C语言提供的合法关键字是( B )。
A.switch B.cher C.case D.default
4. 下列正确的标识符是( C )。
A.-a1 B.a[i] C.a2_i D.int t
5. 下列C语言用户标识符中合法的是( B )。
A、*y B、sum C、int D、%5f
6. 下面四个选项中,合法的标识符是:( D )
A.auto B. define C. 6a D. c
7. 下列C语言用户标识符中合法的是( B )。
A)3ax B)x C)case D)-e2 E)union
8. 以下选项中合法的用户标识符是 ( B )
A)long B) _2Test C) 3Dmax D)A.dat
9. 下列四组选项中,正确的C语言标识符是( C )。
A) %x B) a+b C) a123 D) 123
10. 请选出可用作C语言用户标识符的一组标识符( B )
A)void define WORD B) a3_b3 _123 sum
C)For -abcCase D) 2a DO sizeof
11. 下列四组字符串中都可以用作C语言程序中的标识符的是( A )。
A、print _3d db8 aBc B、I\am one_half start$it 3pai
C、str_1 Cpp pow while D、Pxq My->book line# His.age
三、是非题:
1. C 语言具有简洁明了的特点。 ( 正确 )
2. 预处理命令的前面必须加一个“#”号。 (正确 )
3. 标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。( 正确 )
4. 在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。(正确 )
5. continue 不是结束本次循环,而是终止整个循环的执行。( 错误 )
6. 在对数组全部元素赋初值时,不可以省略行数,但能省略列数 ( 错误 )
7. .函数的实参传递到形参有两种方式值传递和地址传递 ( 正确 )
8. 直接访问就是直接利用变量的地址进行存取直接访问 ( 正确 )
9. 共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。 (正确 )
10. 文件指针和位置指针都是随着文件的读写操作在不断改变。(错误)
四、编程题:
1. 编写程序,从键盘顺序输入3个整数,然后按逆序将它们输出。例如,假设输入的3个整数为8、2、7,则程序输出7、2、8
#include<stdio.h>
void main()
{int x,a,b,c;
scanf("%d",&x);
a=x/100;
b=x/10%10;
c=x%10;
x=c*100+b*10+a;
printf("%d",x);
}
练习二
一、填空题
1. 一个C源程序至少包含一个 主函数 ,即 main 函数。
2. 已知“int j,i=1”,执行语句“j=i++;”后,变量i的值是 2 。
3. 已知“int j,i=1”,执行语句“j=++i;”后,变量i的值是 2 。
二、选择题
1. C语言程序从main()函数开始执行,所以这个函数要写在( D )。
A)程序文件的开始 B) 程序文件的最后
C)它所调用的函数的前面 D) 程序文件的任何位置
2. 以下说法中正确的是( C )。
A、C语言程序总是从第一个定义的函数开始执行
B、在C语言程序中,要调用的函数必须在main( )函数中定义
C、C语言程序总是从main( )函数开始执行
D、C语言程序中的main( )函数必须放在程序的开始部分
3. 下列方法中错误的是( D )。
A. 主函数可以分为两个部分:主函数说明部分和主函数体。
B. 主函数可以调用任何非主函数的其它函数。
C. 任何非主函数可以调用其它任何非主函数。
D. 程序可以从任何非主函数开始执行。
4. 下列C语言标识符中合法的变量名是( B )。
A)2e3 B)you C)*y D)float
5. C语言中的简单数据类型包括( D )。
A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型
C、整型、字符型、逻辑型 D、整型、实型、字符型
6. 下列可以正确表示字符型常量的是( A )。
A、’\t’ B、”a” C、”\n” D、297
7. 下列表达式中,( D )是正确的C语言字符常量。
A)”x” B)e3 C)”COMPUTER” D)’#’
8. 在下列表达式中,属于字符型常量的是( B )。
A)A B) 'a' C) "A" D) b
9. 以下选项中合法的字符常量是( B )
A) “B” B) ‘\n’ C) ‘68’ D) E
10. 下面字符常量表示错误的是( D )
A)’a’ B)’?’ C)’\n’ D)”\n”
11. 已定义c为字符型变量,则下列语句中正确的是( C )
A)c='97' B)c="97" C)c=‘a’ D)c="a"
12. 已知ch是字符型变量,不正确的赋值语句是( A )
A、A)ch='a+b' ; B) ch=' \0 ';
B、C)ch=' 7' ; D) ch=’;’;
13. C语言中字符型(char)数据在内存中的存储的是( D )
A) 原码 B) 补码 C) 反码 D)ASCII码
14. 在C语言中,字符型数据所占的内存空间是( C )
A)2个字节 B) 4字节 C) 1字节 D)由用户自定义
15. C语言中运算对象必须是整型的运算符是(A )
A)%= B) / C) = D) 〈=
三、是非题
1. C 语言标准格式输入函数 scanf() 的参数表中要使用变量的地址值(正确)
2. 浮点型常量的指数表示中 ,e 是可以省略的。(错误 )
3. 任何表达式语句都是表达式加分号组成的。( 正确 )
4. 在switch语句中,每一个的case常量表达式的值可以相同。( 错误 )
5. do-while循环的while后的分号可以省略。( 错误)
6. 用字符串方式赋值比用字符逐个赋值要多占一个字节, 用于存放字符串结束标志'\0'。( 正确 )
7. C语言函数返回类型的默认定义类型是void (错误 )
8. 可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数(正确)
9. 枚举类型中的元素都具有一个整型值。( 正确 )
10. C 语言是一种具有某些低级语言特征的高级语言。(正确 )
四、编程题
1. 编写程序,从键盘输入10个学生的成绩,统计最高分和最低分并输出
#include<stdio.h>
void main()
{
doublea[10],max,min,sum=0,avg; int i; for(i=0;i<10;i++)
{
printf("请输入第%d个成绩",i+1);sanf("%f",&a[i]);
}
max=a[0];min=a[0]; for(i=0;i<10;i++)
{
sum+=a[i]; if(a[i]>max) max=a[i];if(a[i]<min) min=a[i]; } avg=sum/10; printf("最大是%f,最小是%f ",max,min);
}
}
练习三
一、填空题
1. 执行下列语句“intb=20;b=b/5;b=b-2”后,b的值是___2___。
2. 设double y[3][4];,则数组y中元素的个数是__2__
二、选择题
1. 下列说法错误的是:( B )
A. C程序运行步骤是编辑、编译、连接、执行。
B. C语言的变量名必须用小写,常量用大写。
C. C语言的三种基本结构是顺序、选择、循环。
D. C程序一定由函数构成的。
2. 下列关于C语言的说法错误的是( B ) 。
A) C程序的工作过程是编辑、编译、连接、运行
B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环
D) C程序从main函数开始执行
3. 在C语言程序中,表达式8/5的结果是( B )
a) A)1.6 B)1 C)3 D)0
4. 设x为int型变量,则执行以下语句后,x的值为( B )
x=10;x+=x;
A)10 B) 20 C) 40 D) 30
5. 在C语言程序中,表达式5%2的结果是( C )。
A)2.5 B)2 C)1 D)3
6. 如果int a=3,b=4;则条件表达式"a<b? a:b"的值是( A )。
A)3 B) 4 C) 0 D) 1
7. 若int x=2,y=3,z=4 则表达式x<z?y:z的结果是( B ).
A)4 B)3 C)2 D)0 E)1
8. C语言中,关系表达式和逻辑表达式的值是( B )。
A)0 B) 0或1 C) 1 D) ‘T’或’F’
9. 设a,b和c都是int型变量,且a=3,b=4,c=5,则下面表达式中,值为0的表达式是( D )
A、’a’&&’b’ B、a<=b
C、a||b+c&&b-c D、!((a<b)&&!c||1)
10. 下面( D )表达式的值为4.
A) 11/3 B) 11.0/3
C) (float)11/3 D) (int)(11.0/3+0.5)
11. 已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为 ( B )
A) 68 B) ‘D’ C) 错误 D) ‘d’
12. 下列关于C语言的叙述错误的是( A )
A) 大写字母和小写字母的意义相同
B) 不同类型的变量可以在一个表达式中
C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D) 同一个运算符号在不同的场合可以有不同的含义
13. 有:int w=11,x=12,y=3,m; 执行下面语句后m的结果是( C )
m=(w<x)?w:x;
m=(m<y)?m:y;
A.1 B. 2 C. 3 D. 以上结果都不对
三、是非题
1. case语句后如没有break,顺序向下执行。(正确 )
2. do-while循环至少要执行一次循环语句。( 正确 )
3. 数组名能与其它变量名相同。数组名后是用方括号括起来的常量表达式,不能用圆括号。( 正确)
4. 函数形参的存储单元是动态分配的。( 正确 )
5. int (*p)[4]它表示p是一个指针数组,它包含4个指针变量元素。( 错误 )
6. 结构体变量可以作数组元素。( 正确 )
7. 随机操作只适用于文本文件。( 错误 )
8. 表达式语句和表达式没有什么区别。( 错误 )
9. 条件运算符?和:是一对运算符,不能分开单独使用。( 正确 )
10. 函数strcmp从头至尾顺序地将其对应字符比较,遇到两个字符不等时,两个字符相减得到一个int型值,两个字符串完全相同时,则返回0。( 正确 )
四、编程题
1. 编写程序,从键盘输入一个整数,若是整数则原样输出,若是附属则输出该数的绝对值
#include<stdio.h>
int main()
{
int num;
printf("Please input ainteger:");
scanf("%d",&num);
if(num>=0)
printf("%d",num);
else printf("\n%d\n",-num);
}
练习四
一、填空题
1. 设int型变量x有初始值3,则表达式x++*5/10的值是 1 。
2. 执行下列语句”int a=8;a+=a-=a*a;”后,a的值是__-112__。
二、选择题
1. C语言程序从( C )开始执行。
A)程序中第一条可执行语句 B) 程序中第一个函数
C)程序中的main函数 D) 包含文件中的第一个
2. 系统默认的C语言源程序扩展名为.C,需经过( C )之后,生成.exe文件,才能运行?
A)编辑?编译 B )编辑?连接 C) 编译?连接 D) 编辑?改错
3. 有:int w=7, x=12, y=3,m; 执行下面语句后m的值是( A )
m=(w>x)?w:x;
m=(m>y)?m:y;
A.12 B. 0 C. 3 D. 1
4. 设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是( B )
A.b=1.0/a B.b=(float)(1/a)
C.b=1/(float)a D.b=1/(a*1.0)
5. 以下运算符中优先级最高的运算符是( B )
a) A)&& B)++ C)+= D)!=
6. 若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是(A )
A.1 B.4 C.4.333333 D.4.6
7. 设x为int型变量,则执行以下语句后,x的值为(C )
x=10;x*=x;
A)10 B) 20 C) 100 D) 0
8. 若有语句int a=1,b; doubley=2.3; b=(int)y; 则b的值为 ( B )?
A)3 B) 2 C) 1 D) 2.3
9. 已知int x;char y;则下面错误的scanf函数调用语句为( B )
A)scanf(“%d,%d”,&x,&y); B) scanf(“%d,%c”,x,y)
C)scanf(“%d%d”,&x,&y) D)scanf(“%d,%c”,&x,&y)
10. 在C语言的库函数中,可以输出char型变量x值的语句是( C )。
A)getchar(x); B)fputc(x) C)putchar(x) D)puts(x)
11. 以下说法正确的是(C )
A) 'x'+5是一个错误的表达式
B) C语言不允许类型的混合运算
C) 强制类型转换时,类型说明符必须加括号
D) (int)x+y 和(int)(x+y)是完全等价的表达式
12. 设 int x=0, y=1; 表达式(x||y)的值是( B )
A)0 B) 1 C) 2 D) -1
三、是非题
1. 函数的实参可以是常量,变量或表达式。( 正确 )
2. 如果指针变量p已指向数组中的一个元素,则p+1指向同一数组中的下一个元素。( 正确 )
3. 文件指针用于指向文件,文件只有被打开后才有对应的文件指针。(正确)
4. C 语言标准输入操作中 ,gets() 函数一次只可读取一个字符。(错误)
5. 在C语言中,逗号既可以作为运算符,也可以作为分隔符。(正确 )
6. C语言的书写格式不会影响程序的可读性。(错误)
7. 条件表达式不能取代一般if的语句。(错误)
8. break 则是结束整个循环过程,不再判断执行循环的条件是否成立。(正确)
9. C语言允许用字符串的方式对数组作初始化赋值。(正确)
10. 如果函数定义出现在函数调用之前,可以不必加函数原型声明。(正确)
四、编程题
1. 将一个数组中的值按逆序输出。例如:原来顺序为8,6,5,3,2,1要求改为 1,2,3,5,6,8
#include <stdio.h>
int main()
{
int a[6] = {8, 6, 5, 3, 2,1};
inti = 0, tmp;
for(i = 0; i < 6/2; ++i)
{
tmp = a[5-i];
a[5-i] = a[i];
a[i] = tmp;
}
for(i = 0; i < 6; ++i)
printf("%5d\n", a[i]);
return0;
}
- C语言基础知识练习
- C语言基础知识
- C语言基础知识1
- c语言基础知识
- C语言基础知识
- c语言基础知识回顾
- C语言基础知识
- C语言基础知识
- C语言基础知识
- C语言/C++基础知识
- C语言的基础知识
- C语言基础知识
- C语言基础知识
- C语言基础知识.......................
- c语言基础知识
- C语言基础知识2
- C语言基础知识
- C语言基础知识梳理
- Mysql命令大全(完整版)
- html 的相对定位与绝对定位
- UIWindow的使用
- Android View那点事(一)
- Linux下分区详解之—Parted
- C语言基础知识练习
- 接口 的使用 到底 有什么 益处?完全 解耦( decoupling)
- Android vector 标签 pathData 详解
- GAT项目新需求:保险管理增加查询统计-传日期参数问题
- 开发网址
- hls协议(最清晰的讲解)
- Calendar的用法
- iOS开发之实现方法链调用
- 含章节号的题注编号以阿拉伯数字显示