C语言百日刷题第十二天

news/2024/11/29 11:36:30/

前言

今天是刷题第12天,放弃不难,但坚持一定很酷~

临近期末,刷几套模拟题

在这里插入图片描述

C语言百日刷题第十二天

  • 前言
  • 选择题
  • 判断题
  • 编程题

选择题

1.设a=1;b=2;c=3;d=4;则表达式a<b?a:c<d? a:d的结果是____。
A、3
B、1
C、4
D、2

正确选项:B

三目运算符a?b:c的意思是,如果表达式a对则执行b否则执行c。
本题中:a<b是对的,所以执行a,而a=1,所以该表达式的结果为1

2.以下错误的数组定义是_____。
A、float f[10+’A’]
B、double d[1+2+3]
C、#define N 10 int a[N + 2];
D、int n=10; int a[n+2];

正确选项:D

数组在定义的时候,大小必须为常变量。

3.以下正确的变量标识符是______。
A、my_var
B、01bc
C、bc-cd
D、char

正确选项:A

1.变量名可以是字母、数字和下划线的组合。
2.变量名的开头必须是字母或下划线,不能是数字。
3.变量名绝对不可以是C语言关键字。
4.变量名不能有空格

4.已知char s[100] = “ABC”;char *const node = s; 下列语句合法的是___
A、node[2]=’k’
B、*node[2]=’k’
C、node = “xyz”
D、*node = “xyz”

正确选项:A

const限制了不能修改node指针,但是可以修改该指针指向的内容。

5.已知:int x=1,y=-1;则语句printf(“%d\n”,(x--&&++y));的输出结果是____
A、0
B、-1
C、2
D、1

正确选项:A

x- -后为0,++y后也为0

6.C语言程序中,整型常量的书写形式不包括______
A、八进制
B、十六进制
C、十进制
D、二进制

正确选项:D

7.在以下运算符中,优先级最高的运算符是_______
A、&&
B、<=
C、%
D、=

正确选项:C
在这里插入图片描述

8.对于char ch;下面正确的赋值是_______
A、ch=’123’
B、ch=’ ’
C、ch=’\’
D、ch=’a’

正确选项:D

9.合法的字符常量是______
A、’W’
B、‘’
C、“a”
D、‘\’

正确选项:A

字符常量是括在一对单引号内的字符

10.若主函数类型为double,被调用函数定义中没有进行函数类型说明,而return语句中的表达式类型为float型,则被调用函数返回值的类型是______
A、float型
B、double型
C、由系统当时决定
D、int型

正确选项:D

11.下列叙述中错误的是_______
A、C语言是一种结构化程序设计语言
B、结构化程序设计提倡模块化的设计方式
C、结构化程序由顺序、分支、循环三种基本结构组成
D、使用三种基本结构构成的程序只能解决简单问题

正确选项:D

C语言就顺序、分支、循环三种结构。这三种结构配合可以解决C语言能解决的所有问题

12.该程序的运行结果为______

int main()
{int a = 1, b = 2, c = 3;if(a == b)a++;if(b < c)b++;elsec++;printf("%d %d %d",a, b, c);return 0;
}

A、1,2,3
B、1,2,4
C、3,3,3
D、1,3,3

正确选项:D

a不等于b所以不执行a++的操作,而b确实小于c进行b++的操作,所以b=2+1=3,而c没有变还是3,所以打印的结果是1 3 3

13.以下程序的输出结果为:

#include<stdio.h>
int main()
{int i, j, x = 1;for (i = 0; i < 2; i++){x++;for (j = 0; j < 3; j++){if (j % 2) continue;x++;}}printf("%d\n", x);return 0;
}

A、8
B、5
C、6
D、7

正确选项:D

continue语句的作用是跳过本次循环体中余下尚未执行的语句,立即进行下一次的循环条件判定

14.表达式(1,2,3,4)的结果是____
A、3
B、2
C、4
D、1

正确选项:C

逗号表达式的值是从左到右最后一个表达式的值

15.C语言中,运作对象必须是整型数的运算符是
A、%和、
B、、
C、**
D、%

正确选项:D

求余运算必需是整型是因为求余是在整数除法中的运算。

16.下面程序运行时输入“china?”,其执行结果为

int main()
{char c;c = getchar();while (c != '?'){putchar(c);c = getchar();}
}

A、china???
B、china
C、china?
D、china??

正确选项:B

getchar函数每次只能读取一个字符,但是当读取导?时候,不满足循环条件,直接结束循环,没有打印出来

17.该程序的运行结果是________

void main(){int n; n = 9;if (n++ < 10)printf(" % d\n", n);else 	  printf("% d\n", n--);}

A、11
B、8
C、9
D、10

正确选项:D

n- -是先给值后自减

18.该程序的输出结果是

void main(){int a[10] = { 1,2,3,4,5,6,7,8,9,10 };int *p = a + 1;printf("%d\n", *(p + 2));}

A、3
B、1
C、2
D、4

正确选项:D

* p = a+1 表明指针p指向的是数组的第二个元素 2 而p+2则让指针右移了2位,指向的是4,解引用后打印的就是4

19.有如下程序

int func(int a, int b)
{return a + b;
}
void main()
{int x = 2, y = 5, z = 8, r;r = func(func(x, y), z);printf("%d\n", r);
}

该程序的输出结果为______
A、13
B、12
C、14
D、15

正确选项:D

定义的func函数的作用返回相加的两个数,输入2,5则func(2,5)为7然后func(7,8)就是7+8=15

20.以下关于C语言数组说法正确的是_____
A、可以使用动态分配技术、定义元素个数可变的数组
B、数组元素的数据类型可以不一致
C、数组元素个数可以不确定、允许随机变动
D、定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数

正确选项:D

判断题

1.在不漏写break的情况下,switch语句各个case标号出现的次序不影响执行结果( )

2.在被调用函数中,对形参数组定义时可以指定每一维的大小,也可也省略第一维的大小说明( )

3.不同于数学,在C中处理数据必须明确其类型( )

4.从用户使用的角度看,函数有两种:库函数、用户自定义函数。( )

5.指针变量不可以作为函数的参数来使用。( )

6.for语句构成的循环不能用其他语句构成的循环来代替。( )

三种循环其实都是相通的,可以彼此换

7.对3个整型变量赋值,可以用以下语句:int a = b =c =3; ( )

8.switch的default子句可以省略不用( )

9.C语言提供输入输出函数。( )

输入输出函数是C标准函数库中的函数提供的

10.字符型常量表达方式是将字符用英文的双引号包围。()

11.do-while循环至少要执行一次循环语句。( )

12.若指针变量指向一维数组的第一个元素,将指针变量加整数3,既指针后移三个元素。( )

13.数组元素小标,系统默认从1开始。( )

14.数组元素只能用下标法或元素名来表示。( )

还可以用指针

15.C编译单位是函数。( )

c程序编译时是以原程序文件为单位进行编译的,而不是以函数为单位进行编译的。

编程题

1.输入两个实数,用一个函数求出它们之和。

#include<stdio.h>
int Add(int x, int y)
{return x + y;
}
int main()
{int x, y;scanf("%d %d", &x, &y);printf("%d", Add(x, y));return 0;
}

2.用指针方法来处理下述问题:将n个数按输入时的顺序逆序排列,用函数实现。

#include<stdio.h>
void reverse(int* p, int n)
{int temp;int i;for (i = 0; i <= n / 2; i++){temp = *(p + i);*(p + i) = *(p + n - 1 - i);*(p + n - 1 - i) = temp;}
}
int main()
{int array[100];int n = 0;printf("输入元素个数:");scanf("%d", &n);printf("依次输入元素:\n");for (int i = 0; i < n; i++){scanf("%d", &array[i]);}reverse(array, n);for (int i = 0; i < n; i++){printf("%d ", array[i]);}return 0;
}

http://www.ppmy.cn/news/2486.html

相关文章

人机界面石油行业的应用:如何构建自动化石化罐区储运监控系统?

一、应用背景 在石油化工企业的生产过程中&#xff0c;运输和储存的大部分介质和产品都是流体&#xff0c;为了保证加工过程的正常运行&#xff0c;企业通常建有大量各种储藏罐的罐区。随着工业自动化技术的发展和计算机技术在罐区控制系统中的应用&#xff0c;罐区自动化系统…

Jenkins Kubernetes 应用部署与容器构建

Jenkins & Kubernetes 应用部署与容器构建 文章目录Jenkins & Kubernetes 应用部署与容器构建1. 前言2. Jenkins 配置 kubernetes credentials3. Jenkins 插件3.1 安装 Kubernets Plugin3.2 安装 Docker Plugin3.3 安装 Git Plugin4. Jenkins 连接 minikube 集群5. 配置…

【Linux】期末复习

文章目录1. 认识Linux系统2. Shell命令3. VI编辑器的使用4. Shell脚本编程5. 实验部分1. 认识Linux系统 Linux特点 完全免费开发性多用户、多任务丰富的网络功能可靠安全、性能稳定支持多种平台 2.Linux系统的组成 内核Shell应用程序文件系统 3.Linux版本 Linux版本由形如x1.x2…

Java搭建宝塔部署实战毕设项目springboot客户管理系统源码

大家好啊&#xff0c;我是测评君&#xff0c;欢迎来到web测评。 本期给大家带来一套Java开发的毕业设计项目&#xff0c;springboot客户管理系统源码&#xff0c;感兴趣的朋友可以自行下载搭建测试。 技术架构 技术框架&#xff1a;SpringBoot MySQL5.7 mybatis shiro Lay…

四年一次的世界杯来了,看看还剩下哪些赛程呢?

足球世界杯的由来2022年的世界杯目前世界杯的赛程看看排在前十的球员几个疑问&#xff1f;世界杯的由来 足球大家应该知道&#xff0c;是一项体育运动&#xff0c;而且是一项多人的体育运动。 世界杯的诞生&#xff0c;源于1950年的南非公开赛&#xff0c;在当时只有5支队伍参…

Stimulsoft Reports.JAVA 2022.4.5 Crack

Stimulsoft Reports.JAVA Java 报表工具 Stimulsoft Reports.JAVA 是一种报告工具&#xff0c;用于在您的 Java 应用程序中进行业务报告的交互和工作。它包含 Java 和 HTML5 组件&#xff0c;允许您在不同平台、不同操作系统和不同硬件上使用创建的程序。因此&#xff0c;我们的…

【单目3D目标检测】MonoGround论文精读与代码解析

文章目录PrefaceAbstractContributionsProblem DefinitionGround Plane PriorIn PaperIn CodePipelineIn PapeIn CodeDepth-Align TrainingIn PaperIn CodeTwo-stage Depth InferenceIn PaperPreface Qin Z, Li X. MonoGround: Detecting Monocular 3D Objects From the Ground…

软件测试行业真的饱和了吗?一线大厂年薪100W的测开岗位还很缺人!

在一线大厂&#xff0c;没有测试这个岗位&#xff0c;只有测开这个岗位。这几年&#xff0c;各互联网大厂技术高速更新迭代&#xff0c;软件测试行业也正处于转型期。传统的功能测试技术逐步淘汰&#xff0c;各种新的测试技术层出不穷&#xff0c;测试人员的薪资也水涨船高。与…