c语言基础练习题

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: c语言基础练习题

1.C语言程序的基本单位是(C)。
A.程序行 B. 语句 C. 函数 D.字符
💞💞
2.已知各变量的类型说明如下:

int m=6,n,a,b;
unsigned long w=8;
double x=3.14,y=0.12;
1
2
3
则以下符合C语言语法的表达式是(A)。
A.a+=a-=(b=2) * (a=8)自右向左
B.n=n3=18
C.x%3
D.y=float(m)
💞💞
3.设有定义“ int x=3 , y , * p=&x” ,则下列语句中使 y 不为 3 的语句是(D)
A y=&x ;
B y=*p;
C y=x;
D y=&x;
解析:
(A)&x 即把x的地址取出来,赋给p,再解引用即可以使y=3;
(B)因为 p=&x;所以 p 即可以找到x的值,即为3
(C)因为 x=3,直接把x赋值给y,所以y=3;
(D)&x 是获取的x的地址赋给y,所以y不能输出3
💞💞
4.设x、y、z均为 int 型变量,则执行语句:x=y=3; z=++x || ++y; 后 y的值为
(C)
A、不定值
B、4
C、3
D、1
解析:
因为中间是 || 先执行++x 是真,判断 || 操作运算符,有一真即为真,所以进行赋值z,再++y;因为后面没有使用y的值,所以y=3;
💞💞
5.设a=4,b=6,c=7,d=8,m=3,n=2,则执行(m=a>b) && (n=c>d) 后n的值为(B)。
A.0
B.2
C.3
D.1
解析:
a=4,b=6. 显而可见 a<b 所以a>b 为假, && 操作符 有一假即为假,所以会出现 短路特性,n的值不会改变
💞💞
6.下述对C语言字符数组的描述中错误的是 (C ) 。
A.字符数组可以存放字符串
B.字符数组中的字符串可以整体输入、输出
C.可以在赋值语句中通过赋值运算符"=“对字符数组整体赋值
D.不可以用关系运算符对字符数组中的字符串进行比较
解析:
数组只能在初始化的时候进行赋值操作,以后就不能进行赋值操作了
💞💞
7.有如下函数调用语句
f1 (a ,b-c , (d,e) ) ;
该函数调用语句中,含有的实参个数是(A)。
A.3
B.4
C.5
D.有语法错
解析:
(d,e)是一个逗号表达式,它的值为最后一个数的值即e的值。
所以有3个参数。
💞💞
8.以下选项中,与 k=n++完全等价的表达式是(A)。
A) k=n,n=n+1
B) n=n+1,k=n
C) k=++n
D) k+=n+1
解析:
n是后置++,即先使用n的值,再进行+1操作
即 先把·n的值赋值给k,n再执行+1操作
💞💞
9.当执行下面程序时,如果输入ABC,则输出结果是(A)

include <stdio.h>

include <string.h>

int main()
{
char ss[10]=“12345”;
gets(ss);
strcat(ss,“6789”);
printf(”%s\n",ss);
return 0;
}
A.ABC6789
B.ABC67
C.12345ABC6
D.ABC456789
解析:
gets(ss)即是输入字符串 ABC,ABC会把123 的空间占用,后面有一个 ‘\0’ 占用4的空间,所以遇到‘\0’后会自动结束,再进行串连接函数,在‘\0’ 后连接,即是ABC6789‘\0’
💞💞
10.若已定义int a,则表达式(a=10,a+10,a++)的值是(B)
A.20
B.10
C.21
D.11
解析:
逗号表达式,最后一个表达式为值,a++,后面没有赋值语句,所以a还是原来的值。
💞💞
11.以下程序的执行结果是(A)
int i=10, j=10;
printf(“%d,%d\n”,++i,j–);
A.11,10
B.9,10
C.11,9
D.10,9
解析:
++i 是前置加加 先给 i的值进行+1操作,再使用i的值 所以 i=11
j-- 是后置减减 先给使用 j的值,再进行-1操作 所以 j=10
💞💞💞💞💞

填空
1.结构化设计中的三种基本结构是

*顺序,选择,循环

2.定义int x,y;执行 y=(x=1,++x,x+2) ;后,y 的值是

4

3.若有定义int a=12,n=5,则表达式a%=(n%2)运算后, a 的值为

0

解析:
先算括号里面的n%2
结果为1
a=a%1;
所以a=0;

4.在定义int a5后,第10个元素是

(a1)

解析:
a5 是5行6列的数组
第一行有6个元素
要找第10个元素
a1是第7个元素
所以a1是第10个元素

5.设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+ i * f 值的数据
类型为

double

解析:
实型*双精度型 +整形 还是双精度型即为double

<、+、%、!=运算符中优先级最高的是
%

7.字符串"a"在内存中占据的字节个数为

2

解析:
因为是字符串a,所以后面还有一个‘\0’
所以是两个字节数

8.C语言中的回车换行是

\n

9.要调用输入输出时,在#include命令行中应包含

stdio.h

10.已知字符‘a’的ASCII码为97,执行下列语句的输出是
printf (“%d,%c”,‘b’,‘b’+1);

98,c

解析:
因为a的ASCII码为97
所以字符b的 ASCII码为98
‘b’+1=99;
用%c的形式输出来,所以会打印字符‘c’

11.警告提示不影响程序正常运行

(正确)

12.程序编译时,需要对注释进行处理。

(错误)

13.C语言中主函数的个数是任意的。

(错误)

解析·:
只能有一个main函数
14.do……while语句执行次数可能为0。

(错误)

解析:
先执行一次,再进行判断是否满足条件

15.C语言中规定,if语句的嵌套结构中,else总是与最近的且尚未配对的if
配对。

(正确)

16.二维数组a可以这样定义inta[][4]

(正确)

目录
相关文章
|
6月前
|
C语言
C语言练习题
C语言练习题
33 0
|
6月前
|
C语言
c语言编程练习题:7-50 输出华氏-摄氏温度转换表
c语言编程练习题:7-50 输出华氏-摄氏温度转换表
79 0
|
6月前
|
C语言
c语言编程练习题:7-49 Have Fun with Numbers
c语言编程练习题:7-49 Have Fun with Numbers
64 0
|
6月前
|
C语言
c语言编程练习题:7-46 爬动的蠕虫
c语言编程练习题:7-46 爬动的蠕虫
62 0
|
6月前
|
C语言
C语言练习题 温度自动转换‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪
C语言练习题 温度自动转换‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪
|
6月前
|
C语言 数据安全/隐私保护
C语言练习题
C语言练习题
43 1
|
5月前
|
人工智能 算法 Java
|
6月前
|
C语言
c语言编程练习题:7-60 Welcome to You!
c语言编程练习题:7-60 Welcome to You!
76 0
|
6月前
|
C语言
c语言编程练习题:7-52 求简单交错序列前N项和
c语言编程练习题:7-52 求简单交错序列前N项和
63 0
|
6月前
|
C语言
c语言编程练习题:7-51 求奇数分之一序列前N项和
c语言编程练习题:7-51 求奇数分之一序列前N项和
70 0