- 0
- 0
- 约6.43千字
- 约 13页
- 2026-01-31 发布于河南
- 举报
2026年C语言程序设计实例教程
第一部分单选题(50题)
1、do-while循环的特点是?()
A.先判断条件,后执行循环体
B.先执行循环体,后判断条件
C.条件不满足时也不执行循环体
D.只能执行一次
【答案】:答案解析:do-while是“先执行后判断”,至少执行一次循环体,for和while是“先判断后执行”,故选B。
2、while循环的语法格式正确的是?()
A.while(条件)语句;
B.while条件语句;
C.while(条件);语句;
D.while(条件){语句}
【答案】:答案解析:while后条件需加括号,语句可是单条(加分号)或代码块(用{}),D缺少分号,故选A。
3、若inta[5]={1,2,3,4,5};则*(a+4)的值是?()
A.4
B.5
C.1
D.2
【答案】:答案解析:a+4是第五个元素地址,*(a+4)=a[4]=5,故选B。
4、以下switch语句语法错误的是?()
A.switch(x){case1:printf(1);break;}
B.switch(x){casea:printf(a);break;}
C.switch(x){case1.5:printf(1.5);break;}
D.switch(x){default:printf(0);}
【答案】:答案解析:case后必须是整型常量,1.5是浮点型,语法错误,故选C。
5、若intx=2;执行switch(x){default:printf(0);case1:printf(1);break;case2:printf(2);case3:printf(3);}输出结果是?()
A.01
B.23
C.0123
D.无输出
【答案】:答案解析:x=2匹配case2,无break,穿透到case3,输出23,故选B。
6、若intx=10,y=20;则表达式x!=y的结果是?()
A.0
B.1
C.10
D.20
【答案】:答案解析:!=是不等于判断,x!=y为真,C语言中真用1表示,故选B。
7、shortint类型的有符号取值范围是?()
A.0~65535
B.-32768~32767
C.-2147483648~2147483647
D.无固定范围
【答案】:答案解析:16位shortint有符号取值标准为-32768~32767,无符号为0~65535,故选B。
8、指针与字符串的关系,以下说法正确的是?()
A.字符串常量是字符数组,数组名是指针
B.字符串可通过指针遍历
C.字符指针可指向字符串常量
D.以上都正确
【答案】:答案解析:A、B、C均是指针与字符串的基本关系,故选D。
9、若inta[4]={1,2,3,4};则a[3]的值是?()
A.3
B.4
C.1
D.2
【答案】:答案解析:a[3]是第四个元素,值为4,故选B。
10、以下关于动态内存分配的说法正确的是?()
A.malloc函数用于动态分配内存,返回void*
B.free函数用于释放动态分配的内存
C.动态分配的内存需手动释放,避免内存泄漏
D.以上都正确
【答案】:答案解析:A、B、C均是动态内存分配的核心规则,故选D。
11、以下关于return语句的说法正确的是?()
A.函数中可有多条return语句
B.函数中必须有return语句
C.return语句必须在函数末尾
D.return语句只能返回一个值
【答案】:答案解析:A函数中可有多条return(如条件判断后返回),Bvoid函数可无return,Creturn可在任意位置,Dreturn只能返回一个值(返回多个值需用指针/数组),故选A。
12、若inta=5,*p=a;则*p的值是?()
A.5
B.a
C.p
D.无定义
【答案】:答案解析:*p等价于p,即a(a的地址),故选B。
13、若inti=0;执行while(i5){i++;if(i==3)continue;printf(%d,i);}输出结果是?()
A.1245
B.12345
C.01245
D.无输出
【答案】:答案解析:i=3时continue,跳过printf,输出1、2、4、5,故选A。
14、以下定义指向二维数组的指针正确的是?()
A.inta[2][3],(*p)[3]=a;
B.inta[2][3],*p=a;
C.inta[2][3],p=a[0];
D.inta[2][3],*p=a;
【答案】:答案解析:A是指向3列数组的指针(匹配二维数组a的行),B、C、D类型不匹配,故选A。
15、若inta[5]={1,2,3};则a[3]的值是?(
原创力文档

文档评论(0)