C语言百日刷题第十五天

news2024/11/19 2:38:58

前言

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

再刷一套模拟题


在这里插入图片描述

C语言百日刷题第十五天

  • 前言
  • 一、选择题
  • 二、判断题
  • 三、多选题
  • 四、填空题
  • 五、分析程序题

一、选择题

1.下列选项中,不属于开发一个C语言应用程序的具体实现步骤的是()
A、 启动开发工具
B、 编辑、编译
C、 组建
D、 运行程序

正确选项:A

2.下列选项中,关于main()函数叙述不正确的是()。
A、 一个完成的C语言程序中,有且只能有一个main()函数
B、 main()函数是程序的主入口,程序总是从main()函数开始执行
C、 如果没有声明main()函数,程序将从第1行开始执行
D、 main()函数可以有返回值,也可以没有返回值

正确选项:C

main函数是C语言的入口,没有Main函数,程序将无法进行

3.下列关于注释的描述中,错误的是()。
A、 C语言中的注释有两种类型:单行注释和多行注释
B、 所有的注释都可以嵌套使用
C、 单行注释用“//”符号表示,后面为被注释内容
D、 多行注释用“/”开头,以符号“/”结尾

正确选项:B

4.关于#include<stdio.h>这句代码,下列描述中错误的是()。
A、 “#”是预处理标志,用来对文本进行预处理操作
B、 include是预处理指令
C、 一对尖括号可以去掉
D、 stdio.h是标准输入输出头文件

正确选项:C

5.下列程序的输出结果是_______。

double  d=3.2;int x=1.2,y;
y=(x+3.8)/5.0;
printf("%d\n",d*y);

A、 3
B、 3.2
C、 0
D、 3.07

正确选项:C

定义的x与y都是整型,使用int x = 1.2 会舍去小数点后面的部分,x实际数值为 1
所以,(1+3.8)/5 = 0.几,但是y也是整型,会舍去小数点后面的数,所以y=0,所以d*y的结果也为0。

6.下面程序运行后的输出结果是( )。

int   a=1,b=0;
printf("%d",b=a+b);
printf("%d\n",a=2*b);

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

正确选项:D

打印的结果:
b=a+b=1+0=1
a=2b,此时b已经是1了,所以a=2b应该为2*1=2

7.以下程序运行后的输出结果是_____。

int  x=011;
printf("%d\n",++x);

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

正确选项:C


在C语言中,二进制的数以0b开头、八进制的数以0开头,十六进制的数以0x开头
既然是八进制,那么我们转化为十进制:18+11=9
++x是先加一在取值使用,所以输出的是9+1=10

8.已知 int x=10, y=20, z=30; 以下语句执行后 ,x ,y ,z 的值是____。

  if(x>y)
     z = x;
  	 x = y;
  	 y = z;

A、 x = 10, y = 20, z = 30
B、 x= 20, y = 30, z = 30
C、 x =20, y=30, z = 10
D、 x = 20, y = 30, z = 20

正确选项:B

if语句默认只能执行一条语句,此题中x并不大于y,所以z = x这条语句不执行。
但是x= y 和 y=z是执行的,所以X=20,Y=30,而Z不变,还是30。

9.for(i=1;i<9;i+=1)该循环共执行了多少次_______。
A、 7
B、 8
C、 9
D、 10

正确选项:B

i+=1等价于i=i+1 从1开始算。
共有i=1、2、3、4、5、6、7、8这八种情况。
所以共执行了八次循环。

10.下列字符串能作为变量名的是( )
A、3int
B、float
C、 _2xy
D、break

正确选项:C

变量名称设定的规矩就是第一个字不能是数字,并且你命名的变量名不能和C语言中的32个关键字相同。

11.以下说法中正确的是_______________。
A、 C语言程序总是从第一个定义的函数开始执行。
B、 在C语言程序中,要调用的函数必须在main( ) 函数中定义。
C、 C语言程序总是从main( ) 函数开始执行。
D、 C语言程序中的main( ) 函数必须放在程序的开始部分。

正确选项:C

C语言程序的入口就是main函数,不管main函数在哪里,C语言都是从main函数进入。

12.根据C语言的语法规则,下列_______是不合法标识符。
A、while
B、Name
C、Rern5
D、_exam

正确选项:A

变量名称设定的规矩就是第一个字不能是数字,并且你命名的变量名不能和C语言中的32个关键字相同。A和关键词while循环相同,所以不合法。

13.下面的变量说明中正确的是___________。
A、 int:a, b, c;
B、int a; b; c;
C、 int a, b, c
D、 int a, b, c;

正确选项:D

14.C语言用( )表示逻辑“真”值。
A、 True
B、 t 或 y
C、非零值
D、整型值0

正确选项:C

C语言规定0为假,非0为真,至于true则是布尔类型,但是C语言中没有布尔类型。

15.设有说明语句char a=\101;则变量a________。
A、 包含4个字符
B、 包含3个字符
C、 包含2个字符
D、 包含1个字符

正确选项:D

char型变量只能装得下一个字符

16.以下程序段的输出结果是int a=12345678;printf("%4d\n",a); ()
A、12
B、34
C、1234
D、12345678

正确选项:C

%d是打印全部,%4d是打印4个宽度的数据,数据不足四个宽度就用空格补上,多了也只打印四个宽度的数据。

17.以下程序运行结束后,x和y的值分别为( )

main()
  { int x=10,y=10,i;
   for(i=0;x>8;y=++i)
     printf(%d  %d”,x--,y)}

A、 10 1
B、 9 9
C、 9 1
D、 8 2

正确选项:D

问最后的x和y的值,扫一眼循环就行了。循环结束的条件是x>8,那么x肯定是等于8的时候结束。ABC的x都比8大,只能选D

18.分析下面程序运行结果()

#include <stdio.h>
void main()
{ int y=10;
do{y--;}
while(--y);
printf("%d\n",y--);}

A、-1
B、 1
C、 8
D、 0

正确选项:D

只有当循环的控制表达式为0时,循环才结束,所以只能是0。

19.有以下程序段while 循环执行的次数是()

int k=0while(k==1)
k++;

A、无限次
B、 有语法错,不能执行
C、 一次也不执行
D、 执行1次

正确选项:C

K=1时控制表达式才为真,而前面设置的K=0,明显不符合k= 1,所以不符合循环开始的条件,但是语句并没有错误,所以一次循环也不执行。注意:在c语言中等于号是==而不是单个=,单个=的意思是赋值。

20.设int x,y,z ;则执行语句x=(y=(z=10)+5-5)后x, y和z的值是()
A、 10 15 10
B、 10 10 10
C、 10 10 15
D、 10 5 10

正确选项:B

x=(y=(z=10)+5-5) 括号内部的优先算,=是赋值的意思。
这段代码的意思是,先把10赋值给z,在把z+5-5的值赋值给y,最后把y的值赋值给x
所以xyz都为10

21.设a=1,b= -3,c=0下面表达式为0的是 ()
A、b>a&&a<c
B、a-3‖‖(c=0)
C、(c>a)= =(b>5)
D、!a&&b‖‖a&&(c+1)

正确选项:A

&&是全真为真,一假全假。||是一真则真,全假为假。b=-3明显小于a=1,前面一句错了,则A直接错。B、D错的离谱,我解释下可能有疑问的C,(c>a)是错的,所以返回值是0,(b>5)也是错的,返回值也是0,所以(c>a)和(b>5)的返回值相同,所以C选项为真

22.若x,y均定义为int型,z为double型,以下不合法的scanf函数调用语句是()
A、scanf("%d%d,%lf",&x,&y,&z);
B、scanf("%x,%d,%lf",&x,&y,&z);
C、scanf("%d,%x,%lf",&x,&y,&z);
D、scanf("%d,%d,%x",&x,&y,&z);

正确选项:D

%x是16进制的占位符,一般是无符号整型使用

23.下面程序的输出结果是 ()

main() 
{ int x=1,y=0,a=0,b=0; 
switch(x) 
{ case 1: 
switch(y) 
{ case 0: ++a; break; 
 case 1: b++; break;
 case 2: a++; b++; break;
 case 3: a++; b++; } 
printf("a=%d,b=%d\n",a,b); } 
return 0;}

A、 a=1,b=0
B、 a=1,b=1
C、 a=0,b=1
D、 a=0,b=0

正确选项:A

x=1进入case 1 ;y=0进入第二个switch的case 0
case 0 是先把a+1再跳出来。所以此时a=1,b还是0

24.希望表示关系x≥y≥z,应使用C语言表达式()
A、 (x>=y)&&(y>=z)
B、 (x>=y) AND (y>=z)
C、(x>=y>=z)
D、 (x>=z)&(y>=z)

正确选项:A

在这里插入图片描述
25.运行完下列程序后,在屏幕上的内容是 ()

void main ()
{ int a=0;
  a+=(a=12);
  printf ("%d\n",a);
}

A、 0
B、 6
C、 12
D、 24

正确选项:D

()的运算优先级是最高的,所以是先把12赋值给a,而a+=(a=12)的意思是:
a=(a=12)+a,而此时a=12,所以相当于是a=12+12=24.

26.使用语句scanf("x=%f,y=%f",&x,&y);输入变量x,y的值([]代表空格),正确的输入是()
A、1.25,2.4
B、1.25[]2.4
C、 x=1.25,y=2.4
D、 x=1.25[]y=2.4

正确选项:C

scanf函数的输入格式要和“”内部的保持严格一致,内部是什么样,输入的时候就要和它一样。

27.下面程序的运行结果是( )

#include<stdio.h>
void main()
{
int num=0;
while(num<=2)
{
num=num+1;
printf(%d\n”,num);
}
}

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

正确选项:C

while循环的条件是num<=2,并且每循环一次,num+1,所以num只有0,1,2是小于等于2的所以只能循环三次,所以选有三个数的。

28.设有说明“int x=3,y=4;",则++x>y--?x:y的值为( ).
A、4
B、1
C、2
D、3

正确选项:D

三目运算符a?b:c的意思是,如果a表达式对,则运行b否则运行c
++x是先加1,y—是先给值后减1,而x=3,3+1=4并不大于4,所以为加,执行:后的表达式,即输出y的值,而y在比较后要减一,此时为3

29.循环体内的continue语句的作用是:( )
A、 结束本次循环进行下次循环
B、 继续执行循环体中后面的语句
C、 跳出本层循环
D、 跳出所有的循环

正确选项:A

continue语句的作用就是结束本次循环后面的语句,直接开始下一次循环。

30.C语言程序能够在不同的操作系统运行,这说明C语言具有很好的____。
A、 适应性
B、 移植性
C、 兼容性
D、 操作性

正确选项:B

31.1972年,美国贝尔实验室的Dennis M.Ritchie在_____ 语言的基础设计出了C语言,被称为C语言的鼻祖。( )
A、 BASIC
B、 FORTRAN
C、 B
D、 ALGOL 60

正确选项:C

32.下列语言中不属于计算机语言的三大类的是()。
A、 机器语言
B、 脚本语言
C、 高级语言
D、 汇编语言

正确选项:B

33.C语言程序的执行,总是起始于______。
A、 程序中的第一条语句
B、 main函数
C、 本程序中的第一个函数
D、 包含的文件中的第一个函数

正确选项:B

34.C语言程序注释语句的格式是:( )
A、 以“/%”开始,“%/”结束
B、 以“/ * ”开始,“* /”结束
C、 以“/ * ”开始,“/ *”结束
D、 以“/ * ” 开始,“ * /”结束

正确选项:B

注释的两种方法:// 或者 / * * /

35.C语言编译程序的首要工作是_____。
A、 检查C语言程序的语法错误
B、 检查C语言程序的逻辑错误
C、 检查程序的完整性
D、 生成目标文件

正确选项:A

语法要是错了,根本没后面的事。

二、判断题

1、计算机不需要翻译就能直接识别的语言被称为汇编语言。

计算机直接识别的语言叫机器语言。

2、C语言只适用于系统软件的开发。()

3、机器语言是由二进制数0和1组成的一串指令。()

4、在C语言程序中,一个语句的结束用“;”来标记。()

5、switch的default子句可以省略不用。

6、若int a=2, b=5; printf(“a=%d,b=%d”,a,b);输出正确的是: a=2,b=5。

三、多选题

1、C语言具有哪些特点?( )
A、 可移植性好
B、 运算符与数据类型丰富
C、 属于强类型语言
D、 语法检查严格
E、 简洁灵活
F、 结构化

正确选项:A、B、E、F

2、C语言的主要应用有哪些?()
A、 开发系统软件
B、 开发大型应用软件
C、 编写个人网页
D、 编写硬件设备的驱动程序
E、 开发游戏软件
F、 编写通信程序
G、 编写广告文案

正确选项:A、B、D、E、F

四、填空题

1、C语言程序的函数组成包括了两个部分,_____ 和 _______,后者被包含在一个花括号里。

函数头

函数体

2、从功能上看,scanf是______函数,printf是________函数,它们俩都带有参数。

输入

输出

五、分析程序题

分析下面程序,说出其功能

#include<stdio.h>
int main()
{
	int m,n,i,j;
	int max=0;
	scanf("%d%d",&m,&n);
	for(i=m;1;i++)          
	{
		if(i%m==0&&i%n==0)  
		break;              
	}
	
	for(j=1;j<=n;j++)        
	{
		if(m%j==0 && n%j==0)   
        {
			if(max<j)        
			max=j;           
		}
	}
	printf("%d *************%d\n",i,max);
	return 0;
} 

程序功能:输出输入的两个数的最小公倍数和最大公约数

第一个循环的作用:只有i可以同时整除m和n的时候才会执行break跳出循环。所以第一个循环的作用就是找到m和n的最小公倍数。

第二个循环的作用:找出可以同时被m和n整除的数,并且通过if语句,使max是最后的最大公约数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/95869.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

为什么网络应用程序是今年的主要攻击媒介之一

网络犯罪分子在绕过最新的网络应用程序防火墙方面的独创性正在将互联网应用程序变成今年增长最快的攻击媒介。面向公众的 Web 应用程序现在是渗透组织边界的最广泛使用的攻击媒介。 根据卡巴斯基全球应急响应团队最近的一份报告&#xff0c;始于 Web 应用程序的攻击从 2020 年…

ocker高级篇1-dockeran安装mysql主从复制

大家好&#xff0c;咱们前面通过十篇的文章介绍了docker的基础篇&#xff0c;从本篇开始&#xff0c;咱们的《docker学习系列》将要进入到高级篇阶段(基础篇大家可以查看之前发布的文章)。 咱们先来介绍&#xff1a;docker复杂方式安装软件。通过按照mysql\redis两个案例来讲解…

XC6SLX100-3FGG484C规格、XC7A15T-2CPG236I产品概述及应用

Spartan-6系列提供领先的系统集成能力&#xff0c;为大批量应用提供最低的总成本。这个由13个成员组成的家族扩展了逻辑单元的密度&#xff0c;从3840个扩展到147443个&#xff0c;功耗仅为之前斯巴达家族的一半&#xff0c;并且具有更快、更全面的连接。 Spartan-6系列基于成熟…

拯救动画卡顿之FLIP

前置知识 什么是FPS FPS是浏览器的每秒的渲染帧数&#xff0c;也就是浏览器切换画面的次数&#xff0c;大多数设备的刷新率都是60FPS&#xff0c;一般来说FPS越低页面就会越卡顿。 什么是像素管道&#xff1f; 像素管道是浏览器单个帧的渲染流水线&#xff0c;如果其中有某…

vue数据双向绑定

5.Vue数据双向绑定 5.1.什么是双向数据绑定 Vue.js 是一个 MVVM 框架&#xff0c;即数据双向绑定&#xff0c;即当数据发生变化的时候&#xff0c;视图也就发生变化&#xff0c;当视图发生变化的时候&#xff0c;数据也会跟着同步变化。这也算是 Vue.js 的精髓之处了。 值得…

[ MessAuto ]: 短信验证码自动填充,理论支持所有浏览器或 APP, Only For Mac

MessAuto 开源地址&#xff1a;https://github.com/LeeeSe/MessAuto MessAuto 是一款 macOS 平台 自动提取 短信验证码并 粘贴回车 的软件&#xff0c;百分百由Rust开发&#xff0c;适用于任何APP。 特点&#xff1a; 轻量&#xff1a;程序占用存储 1.8 M&#xff0c;占用内…

NLP学习笔记(三) GRU基本介绍

大家好&#xff0c;我是半虹&#xff0c;这篇文章来讲门控循环单元 (Gated Recurrent Unit, GRU) 文章行文思路如下&#xff1a; 首先通过长短期记忆网络引出为什么需要门控循环单元然后介绍门控循环单元的核心思想与运作方式最后通过简洁的代码深入理解门控循环单元的运作方…

奇舞周刊 476 期:代码在内存中的 “形状”

记得点击文章末尾的“ 阅读原文 ”查看哟~下面先一起看下本期周刊 摘要 吧~奇舞推荐■ ■ ■代码在内存中的 “形状”众所周知&#xff0c;js 的基本数据类型有 number、string、boolean、null、undefined 等。那么问题来了 typeof null 和 typeof undefined 分别是什么呢&…

[附源码]Node.js计算机毕业设计果蔬预约种植管理系统Express

项目运行 环境配置&#xff1a; Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术&#xff1a; Express框架 Node.js Vue 等等组成&#xff0c;B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境&#xff1a;最好是Nodejs最新版&#xff0c;我…

[内网渗透]—NTLM网络认证及NTLM-Relay攻击

NTML网络认证 Windows认证分为本地认证和网络认证,当我们开机登录用户账户时,就需要将lsass.exe进程转换的明文密码hash与 sam文件进行比对,这种方式即为——本地认证 而当我们访问同一局域网的一台主机上的SMB共享时,需要提供凭证通过验证才能访问,这个过程就会设计win…

【C++】list 的模拟实现

​&#x1f320; 作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《吃透西嘎嘎》 &#x1f387; 座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录&#x1f449;前言&…

Halcon条码和二维码质量评级

现在各行各业的人们都使用条码/二维码从生产阶段到销售点全程追踪他们 的产品。那么怎么验证生产出来的具有可读性&#xff0c;码的质量等级如何呢&#xff1f; 其实ISO行业标准已经给出了如何评估码的质量等级的标准&#xff0c;以下三种主要验证标准用于确定一维条码、二维码…

毕业设计 - 基于Java EE平台项目管理系统的设计与实现【源码+论文】

文章目录前言一、项目设计1. 模块设计2. 实现效果二、部分源码项目工程前言 今天学长向大家分享一个 java web项目: 基于Java EE平台项目管理系统的设计与实现 一、项目设计 1. 模块设计 从管理员角度看: 用户登入系统后&#xff0c;可以修改管理员的密码。同时具有以下功能…

最全的SpringMVC教程,终于让我找到了

1. 为啥要学 SpringMVC&#xff1f; 1.1 SpringMVC 简介 在学习 SpringMVC 之前我们先看看在使用 Servlet 的时候我们是如何处理用户请求的&#xff1a; 配置web.xml <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"http://xmln…

[附源码]Python计算机毕业设计国际美容会所管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

Jetpack Compose中的动画

Jetpack Compose中没有沿用Android原有的View动画和属性动画&#xff0c;而是新创建了一套全新的动画系统API&#xff0c;这是理所当然的&#xff0c;因为旧的动画系统主要是基于View体系的&#xff0c;而Compose中需要针对的是Composable可组合函数进行处理&#xff0c;那么势…

他文献查到凌晨两点,我用Python十分钟搞定!

大家好&#xff0c;我是爱学习的王饱饱。 对于应届毕业生来说&#xff0c;今年一定是难熬的一年。本来找工作、写论文就已经是两座大山了&#xff0c;还要面临论文无指导的额外压力。 这让我想到了去年毕业的表弟&#xff0c;当时他为了完成论文&#xff0c;摔烂了三个鼠标。…

Jsp服装商城包安装调试

(https://img-blog.csdnimg.cn/78351365dac24f6185cb69ee3a804ba1.png)jsp mysql新季服装商城 功能&#xff1a;前台会员中心后台 前台&#xff1a; 1.服装展示 图文列表 新闻列表 详情 2.注册登录 管理登陆 3.加入购物车 会员中心&#xff1a; 1.个人账户 查看 修改个人…

一个新的React项目我们该如何配置

最近组长让我负责一个新的项目&#xff0c;项目的技术栈是React typescript redux and design&#xff0c;一个工龄1年的小白菜只能先去github找开源项目看看他们做了哪些配置&#xff0c;然后去百度这些配置改如何安装。下面就是我记录一个新的React项目配置的过程。 安装…

知识图谱有哪些应用领域?

知识图谱通常应用于自然语言处理和人工智能领域&#xff0c;常用于提高机器学习模型的准确性和效率。它还可以用于数据挖掘、信息检索、问答系统和语义搜索等领域。近年来知识图谱在电子商务、金融、公安、医疗等行业逐步开始落地&#xff0c;在这些行业的渗透、深入中&#xf…