弯道超车必做好题锦集一(C语言选择题)

news2025/4/7 15:03:23

前言:

编程想要学的好,刷题少不了,我们不仅要多刷题,还要刷好题!为此我开启了一个弯道超车必做好题锦集的系列,每篇大约10题左右。此为第一篇选择题篇,该系列会不定期更新,后续还会开编程题的系列。敬请期待!


1.test.c 文件中包括如下语句,文件中定义的四个变量中,是指针类型的变量为【多选】( )

#defifine INT_PTR int*
typedef int* int_ptr ;
INT_PTR a , b ;
int_ptr c , d ;

A: a B: b C: c D: d

答案解析:
正确答案: ACD
因为 #defifine 是宏定义,仅仅是直接替换 ,INT_PTR a, b; 进行宏替换后代码是这样的: int *a, b; 这里的 int * a 的类型, b 的 类型是int ,故此次 b 只是 int 类型。而 typedef 是把该类型定义一个别名,别名是一个独立的类型了,使用这个类型创建的变量都是这个类型的。
所以 a c d 才是指针类型

2.有如下定义语句,则正确的输入语句是【多选】( )

int b ;
char c [ 10 ];
A: scanf("%d%s",&b,&c);     B: scanf("%d%s",&b,c);  
C: scanf("%d%s",b,c);          D:  scanf("%d%s",b,&c);  
答案解析:
正确答案: AB
&c c 两个地址值是一样的,程序的效果相同,也没错,但同时也必须把变量 b 的地址给 scanf, CD 错误, AB 正确


3.以下程序段的输出结果是()

#include<stdio.h>
int main ()
{
char s [] = "\\123456\123456\t" ;
printf ( "%d\n" , strlen ( s ));
return 0 ;
}

 A: 12 B: 13 C: 16 D: 以上都不对

答案解析:
正确答案: A
这里考查转义字符,注意: \\ 表示字符 '\' \123 表示字符 '{' \t 表示制表符,这些都是一个字符


4.若有以下程序,则运行后的输出结果是( )

#include <stdio.h>
#defifine N 2
#defifine M N + 1
#defifine NUM (M + 1) * M / 2
int main ()
{
printf ( "%d\n" , NUM );
return 0 ;
}

A: 4 B: 8 C: 9 D: 6

答案解析:
正确答案: B
宏只是替换,替换后 NUM 的样子是 (2+1+1)*2+1/2 ,计算得 8

 5.判断是否正确

初始化方式 char a[14] = "Hello, world!"; char a[14]; a = "Hello, world!"; 的效果相同

A.正确   B.错误

答案解析:

a为数组首地址是常量不能改变 ,a = "Hello, world!"相当于把H的地址强给a


6.请问下列表达式哪些会被编译器禁止【多选】( )

int a = 248 , b = 4 ;
int const * c = 21 ;
const int * d = & a ;
int * const e = & b ;
int const * const f = & a ;

A: *c = 32; B: *d = 43 C: e=&a D: f=0x321f  

答案解析:

正确答案: ABCD
如果 const 位于 * 的左侧,则 const 就是用来修饰指针所指向的变量,即指针指向为常量; *c *d 不能变。
如果 const 位于 * 的右侧,则 const 就是修饰指针本身,即指针本身是常量; e f 不能变。

7.运行以下程序后,如果从键盘上输入 65 14<回车> ,则输出结果为( )

int main ()
{
int m , n ;
printf ( "Enter m,n;" );
scanf ( "%d%d" , & m , & n );
while ( m != n ) //1
{
while ( m > n ) m = m - n ; //2
while ( n > m ) n = n - m ; //3
}
printf ( "m=%d\n" , m );
return 0 ;
}
答案解析:
正确答案: C
此题技巧是耐心,考查 while 循环和循环嵌套的理解,初值 m=65,n=14 ;循环 1 判断 m!=n 为真,来到循环 2 判断 m>n 为真, 执行m=m-n; 直到 m=9,n=14 ;循环 2 结束来到循环 3 判断 n>m 为真,执行 n=n-m; 直到 m=9,n=5 ;循环 3 结束回到循环 1 ,如 此往复直到m==n 时,循环结束

 8.若运行以下程序时,从键盘输入 ADescriptor<回车> ,则下面程序的运行结果是( )

#include <stdio.h>
int main ()
{
char c ;
int v0 = 0 , v1 = 0 , v2 = 0
do
{
switch ( c = getchar ())
{
case 'a' : case 'A' :
case 'e' : case 'E' :
case 'i' : case 'I' :
case 'o' : case 'O' :
case 'u' : case 'U' : v1 += 1 ;
default v0 += 1 ; v2 += 1 ;
}
} while ( c != '\n' );
printf ( "v0=%d,v1=%d,v2=%d\n" , v0 , v1 , v2 );
return 0 ;
}

 A: v0=7,v1=4,v2=7 B: v0=8,v1=4,V2=8 C: v0=11,v1=4,v2=11 D: v0=12,v1=4,v2=12

答案解析:
正确答案: D
代码 switch 语句中没有 break ,则每次找到入口进入后,顺序执行到代码块结束为止。例如当 c 'A' 时,从 case 'A' 进入,先 后执行v1+=1;v0+=1;v2+=1; ,而当 c 'p' 时,从 default 进入,先后执行 v0+=1;v2+=1; ,容易看出最终 v0 v2是相等的。< 回车 >也会被getchar()吸收。

9.对于代码段,下面描述正确的是( )

t = 0 ;
while ( printf ( "*" ))
{
t ++ ;
if ( t < 3 )
break ;
}
A: 其中循环控制表达式与 0 等价 B: 其中循环控制表达式与 '0' 等价
C: 其中循环控制表达式是不合法的 D: 以上说法都不对
答案解析:
正确答案: B
print(“*”) 函数调用的返回值是字符串中字符的个数,即为 1 。所以 while 后面的条件恒为真(非零),所以循环控制表达式与 '0' 是等 价的(字符'0' 不是 0 )。正确答案是 B

10.在c语言中,一个函数不写返回值类型,默认的返回类型是(  )

A: int B: char C: void D: 都不是
答案解析:
正确答案: A
一个函数不写返回值类型,默认的返回类型是 int ,但不提倡这么做

 

以上为我个人的小分享,如有问题,欢迎讨论!!! 

 

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

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

相关文章

《EalsticSearch从入门到实战》-CRUD+JAVA常用操作

目录 《EalsticSearch从入门到实战》 windows环境安装elasticsearchkibana并完成JAVA客户端查询《EalsticSearch从入门到实战》-CRUDJAVA常用操作 前言 上一篇《windows环境安装elasticsearchkibana并完成JAVA客户端查询》中我们已经完成了EalsticSearchKibana环境的安装&a…

页面生成图片或PDF node-egg

没有特别的幸运&#xff0c;那么就特别的努力&#xff01;&#xff01;&#xff01; 中间件&#xff1a;页面生成图片 node-egg 涉及到技术node egg Puppeteer 解决文书智能生成多样化先看效果环境准备初始化项目 目录结构核心代码 完整代码https://gitee.com/hammer1010_ad…

web自动化测试,定位不到元素的原因及解决方案

1.动态id定位不到元素 分析原因&#xff1a;每次打开页面&#xff0c;ID都会变化。用ID去找元素&#xff0c;每次刷新页面ID都会发生变化。 解决方案&#xff1a;推荐使用xpath的相对路径方法或者cssSelector查找到该元素。        2.iframe原因定位不到元素 分析原因…

SQL注入之布尔盲注

SQL注入之布尔盲注 一、布尔盲注介绍二、布尔盲注的特性三、布尔盲注流程3.1、确定注入点3.2、判断数据库的版本3.3、判断数据库的长度3.4、猜解当前数据库名称&#xff08;本步骤需要重复&#xff09;3.5、猜解数据表的数量3.6、猜解第一个数据表名称的长度3.7、猜解第一个数据…

【React】关于组件之间的通讯

&#x1f31f;组件化&#xff1a;把一个项目拆成一个一个的组件&#xff0c;为了便与开发与维护 组件之间互相独立且封闭&#xff0c;一般而言&#xff0c;每个组件只能使用自己的数据&#xff08;组件状态私有&#xff09;。 如果组件之间相互传参怎么办&#xff1f; 那么就要…

Python 算法交易实验65 算法交易二三事

说明 对算法交易的一些内容做一些回顾和反思吧。 老规矩&#xff0c;先chat一下 道理说的都对&#xff0c;如果要补充就推荐再看一本书量化交易:如何建立自己的算法交易事业,我觉得这样就比较完整了。 简单来说&#xff0c;把量化当成事业&#xff0c;而不是一种投机&#…

一起学算法(计算排序篇)

概念&#xff1a; 计数排序&#xff08;Counting sort&#xff09;是一个非基于比较稳定的线性时间的排序算法 非基于比较&#xff1a;之前学的排序都是通过比较数据的大小来实现有序的&#xff0c;比如希尔排序等&#xff0c;而计数排序不需要比较数据的大小而进行排序&…

数据结构:谈快速排序的多种优化和非递归展开,以及排序思想归纳

文章目录 写在前面快速排序的基本体系快速排序的优化快速排序的非递归实现排序分类总结插入排序选择排序交换排序归并排序 写在前面 快速排序作为效率相当高的排序算法&#xff0c;除了对于特殊数据有其一定的局限性&#xff0c;在大多数应用场景中都有它特有的优势和应用&…

PHP8的数据类型转换-PHP8知识详解

什么是数据类型转换&#xff1f; 答&#xff1a;数据从一个类型转换成另外一个类型&#xff0c;就是数据类型转换。 在PHP8中&#xff0c;变量的类型就是由赋值决定的&#xff0c;也就是说&#xff0c;如果 string 赋值给 $var&#xff0c;然后 $var 的类型就是 string。之后…

Python:给MySQL创建1000张表和创建1张有50个字段的表

1、创建1000张表 import pymysqldbhost "10.1.1.143" dbuser "root" dbpassword "123456" dbname "demo_cg1000" dbport 3306 dbconn pymysql.connect(hostdbhost, userdbuser, passworddbpassword, dbdbname, portdbport)mycu…

前端学习--vue2--2--vue指令基础

写在前面&#xff1a; 前置内容 - vue配置 文章目录 插值表达式v-html条件渲染v-show和v-ifv-ifv-if的扩展标签复用组件 v-show v-on /事件v-bind /&#xff1a;属性v-modelv-for 循环元素v-slotv-prev-cloak vue指令只的是带有v-前缀的特殊标签属性 插值表达式 插值表达式{…

【MATLAB第62期】基于MATLAB的PSO-NN、BBO-NN、前馈神经网络NN回归预测对比

【MATLAB第62期】基于MATLAB的PSO-NN、BBO-NN、前馈神经网络NN回归预测对比 一、数据设置 1、7输入1输出 2、103行样本 3、80个训练样本&#xff0c;23个测试样本 二、效果展示 NN训练集数据的R2为&#xff1a;0.73013 NN测试集数据的R2为&#xff1a;0.23848 NN训练集数据的…

【机器学习】Feature Engineering and Polynomial Regression

Feature Engineering and Polynomial Regression 1. 多项式特征2. 选择特征3. 缩放特征4. 复杂函数附录 首先&#xff0c;导入所需的库&#xff1a; import numpy as np import matplotlib.pyplot as plt from lab_utils_multi import zscore_normalize_features, run_gradien…

qt添加图标

1.添加资源 选择QtWidgetsApp.qrc文件打开 添加图标文件路径 添加图标文件 2.按钮添加图标 图标路径为:/res/res/swicth.jpg &#xff08;1&#xff09;代码设置图标 ui.pushButton_OPen->setIcon(QIcon(":/res/res/swicth.jpg")); &#xff08;2&#xff09;属…

设计模式:生成器模式

这个模式书上讲的比较简单&#xff0c;但是感觉精华应该是讲到了。 引用下其它博客的总结&#xff1a;生成器模式的核心在于分离构建算法和具体的构造实现&#xff0c;从而使得构建算法可以重用。 【设计模式】建造者模式_鼠晓的博客-CSDN博客

27 用linprog、fmincon求 解线性规划问题(matlab程序)

1.简述 ① linprog函数&#xff1a; 求解线性规划问题&#xff0c;求目标函数的最小值&#xff0c; [x,y] linprog(c,A,b,Aeq,beq,lb,ub) 求最大值时&#xff0c;c加上负号&#xff1a;-c ② intlinprog函数&#xff1a; 求解混合整数线性规划问题&#xff0c; [x,y] intl…

AI+低代码:开启普惠人工智能时代的新篇章

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

mac pd安装ubuntu并配置远程连接

背景 一个安静的下午&#xff0c;我又想去折腾点什么了。准备学习一下k8s的&#xff0c;但是没有服务器。把我给折腾的&#xff0c;在抱怨了&#xff1a;为什么M系列芯片的资源怎么这么少。 好在伙伴说&#xff0c;你可以尝试一下ubantu。于是&#xff0c;我只好在我的mac上安…

https协议 和 Charles 进行https抓包原理

1.对称加密 其变成复杂的加密密文发送出去。收信方收到密文后&#xff0c;若想解读原文&#xff0c;则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密&#xff0c;才能使其恢复成可读明文。在对称加密算法中&#xff0c;使用的密钥只有一个&#xff0c;发收信双方都…

C++——继承(1)详解

目录 1.继承的含义 2.继承的定义&#xff1a; 3.继承方式 例子1&#xff1a;基类的访问限定符为public&#xff0c;两个派生类的继承方式分别为public、protected时&#xff1a; 例子2&#xff1a; 基类的访问限定符为protected&#xff0c;两个派生类的继承方式分别为pub…