C程序设计综合练习题
作业已超过截止时间,您无法递交本题目。
注:可以在线查看pdf格式题目文档,效果更好。 链接:https://www.aliyundrive.com/s/7W7TZH2hKJV
题目背景
C语言期末考试模拟题,以选择题形式布置作业,每道题10分,读入题号,输出改题的答案,文章最后有代码参考。
题目描述
( )是构成C语言程序的基本单位。 A.
函数
B.过程
C.子程序
D.子例程
C语言程序从( )开始执行。
A.程序中第一条可执行语句
B.程序中第一个函数
C.程序中的main函数
D.包含文件中的第一个函数
下列关于C语言的说法错误的是( )。
A.C程序的工作过程是编辑、编译、连接、运行
B.C语言不区分大小写
C.C程序的三种基本结构是顺序、选择、循环
D.C程序从main函数开始执行
下列C语言用户标识符中合法的是( )。
A.3ax
B.x
C.case
D.-e2
C语言中的简单数据类型包括( )。
A.整型、实型、逻辑型
B.整型、实型、逻辑型、字符型
C.整型、字符型、逻辑型
D.整型、实型、字符型
阅读程序选择答案:
#include <bits/stdc++.h> using namespace std; int main() { int a = 3, b = 4, ans; ans = a < b ? a : b; printf("%d", ans); return 0; }
请问程序运行的结果是( )。
A.3
B.4
C.0
D.1
在C语言程序中,\(5\%2\)的结果是( )。
A.2.5
B.2
C.1
D.3
设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是( )。
A.b=1.0/a
B.b=(float)(1/a)
C.1/(float)a
D.b=1/(a*1.0)
以下对一维数组a的正确说明是( )。
A.
char a
B.int a[];
C.int k=5,a[k];
D.char a[3]={'a','b','c'};
以下能对一维数组a进行初始化的语句是( )。
A.
int a[5]=(0,1,2,3,4,);
B.int a(5)={};
C.int a[3]={0,1,2};
D.int a{5}={10*1};
已知
int a[10];
则对a数组元素的正确引用是( )。A.
a[10]
B.a[3.5]
C.a(5)
D.a[0]
已知
int a[3][4];
则对数组元素引用正确的是( )。A.
a[2][4]
B.a[1,3]
C.a[2][0]
D.a(2)(1)
在C语言中,函数的数据类型是指( )。
A.
函数返回值的数据类型
B.函数形参的数据类型
C.调用该函数时的实参的数据类型
D.任意指定的数据类型
在C语言中,表示静态存储类别的关键字是( )。
A.
auto
B.register
C.static
D.extern
语句int *p;说明了( )。
A.
p是指向一维数组的指针
B.p是指向函数的指针,该函数返回一int型数据
C.p是指向int型数据的指针
D.p是函数名,该函数返回一指向int型数据的指针
下列不正确的定义是( )。
A.
int *p=&i,i;
B.int *p,i;
C.int i,*p=&i;
D.int i,*p;
有语句
int a[10];
则( )是对指针变量p的正确定义和初始化。A.
int p=*a;
B.int *p=a;
C.int p=&a;
D.int *p=&a;
有如下程序
int a[10]={1,2,3,4,5,6,7,8,9,10},*P=a;
则数值为9的表达式是 ( )。
A.
*P+9
B.*(P+8)
C.*P+=9
D.P+8
阅读程序回答问题:
#include <stdio.h> int main() { int a=12, b=-34, c=56, min=0; min=a; if(min>b) min=b; if(min>c) min=c; printf("min=%d", min); return 0; }
程序运行的结果是( )。
A.
min=%d
B.-34
C.min=0
D.min=-34
下列程序为一种将10进制数转化为2进制数的写法,请阅读程序完成问题
#include <stdio.h> int main() { int i, n = 31, ans[10] = {0}, cnt = 0; while (n > 0) { cnt ++ ; if (n % 2 == 1) { /* 此处应该填入( ) */ } else { ans[cnt] = 0; } n /= 2; } for (i = cnt; i >= 1; i -- ) { printf("%d", ans[i]); } return 0; }
请问程序中留空的位置应该填入的是( )。
A.
ans[cnt] = 0;
B.ans[cnt] == 1;
C.ans[cnt] ++
D.ans[cnt] = (n % 2);
输入格式
一个整数为题目序号
输出格式
一个大写字母,为A、B、C或D,表示该题目的答案。
输入输出样例
输入#1
1
输出#1(答案非正确答案)
B
代码样例
如果觉得手写麻烦,可以直接应用如下的代码格式。代码格式中给出了具体的用法,但是其中举例用的答案未必是正确答案。
#include <stdio.h>
#define A() printf("A\n"); break;
#define B() printf("B\n"); break;
#define C() printf("C\n"); break;
#define D() printf("D\n"); break;
int main() {
int id;
scanf("%d", &id);
switch(id) {
/*使用的时候直接在相应的题号后面写上答案+括号、分号即可,例如A(); B();等*/
case 1: D(); // 答案为示范答案,不一定正确
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
case 17:
case 18:
case 19:
case 20:
}
}