前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >c语言基础练习题详解

c语言基础练习题详解

作者头像
洁洁
发布2023-10-10 13:35:17
3450
发布2023-10-10 13:35:17
举报
文章被收录于专栏:小洁叫你mysql

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

代码语言:javascript
复制
int  m=6,n,a,b;
unsigned  long   w=8;
double x=3.14,y=0.12;

则以下符合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 a[5][6]后,第10个元素是

(a[1][3])

解析: a[5][6] 是5行6列的数组 第一行有6个元素 要找第10个元素 a[1][0]是第7个元素 所以a[1][3]是第10个元素

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

double

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

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

%

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]

(正确)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-07-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档