首页 > 其他分享 >复习课15 C语言作业讲解

复习课15 C语言作业讲解

时间:2023-10-10 23:04:56浏览次数:36  
标签:故选 复习 int 局部变量 C语言 转义字符 数组 15 解析

一.选择题

1.以下哪一项不属于C语言内置的数据类型 ()

A.int

B.short

C.struct Str

D.float


答案:C

解析:C语言中内置的数据类型有:int short float double long char等,并不包含C选项中的 struct Str ,故选C


2.局部变量的作用域是()

A.main()函数内部

B.整个程序

C.main()函数之前

D.局部变量所在地局部范围


答案:D

解析:全局变量的作用域是整个程序而局部变量作用域是局部变量所在的局部范围,故选D


3.下列代码输出的结果是:

#include<stdio.h>
int num = 10;
int main(void)
{
  int num = 1;
  printf("num=%d",num);
  return 0;
}

A.输出 1

B.输出 0

C.程序代码出现问题无法完成编译操作

D.什么都不输出


答案:A

解析:这里的变量 num 是全局变量,全局变量有一个特点就是当全局变量名与局部变量名冲突时优先选择局部变量,所以我们应该尽量避免变量名重复,故选A


4.字符串结束标志是()

A. '\0'

B. EOF

C. '0'

D. Space(空格)


答案:A

解析:在C语言中字符串的结束标志是 '\0' ,EOF是End Of File 的缩写代表文件结束标志其值为 -1 ,'0' 代表着字符 0 在ASCII码中字符串 0 的ASCII码值是 48 而 '\0' 的ASCII码的值是 0 ,故选A


5.关于数组描述错误的是()

A.数组是一组相同类型的组合

B.数组的下标是从0开始的

C.数组下标是从1开始的

D.如果需要初始化数组,可以不指定数组大小


答案:C

解析:数组下标是从0开始的而不是1,当我们初始化数组的时候可以不指定数组大小,C语言会根据数组大小自动指定


6.下列代码输出的结果是()

#include<stdio.h>
#include<string.h>
int main(void)
{
 printf("%d\n",strlen("c:\test\121"));
 return 0;
}

A.7

B.8

C.9

D.10


答案:A

解析:字符串 c:\test\121 中 \t  与 \121 是转义字符视作一个字符,除了这两个转义字符各占用一个字符后每一个字节各占一个字节所以故选择A


7.下列哪个选项不是转义字符

A.'\n'

B.'\060'

C.'\q'

D.'\b'


答案:C

解析:

A选项是换行转义字符,B选项是\ddd的转义字符,D选项是退格转义字符,故选C


8.下列代码输出的结果是什么()

#include<stdio.h>
#include<string.h>
int main(void)
{
char arr[] = {'y','o','u'};
printf("%d",strlen(arr));
return 0;
}

A.3

B.4

C.5

D.随机值


答案:D

解析:strlen()函数计算的是字符串长度,并不能计算数组长度,这里数组中是由三个字符 y o u 组成的,并不是字符串没有字符串结束标志 '\0' 所以 strlen() 函数会一直读取下去直到读取到内存中 '\0' 才会结束,所以输出的值也是随机值,故选D



2023/10/10

王起舟


标签:故选,复习,int,局部变量,C语言,转义字符,数组,15,解析
From: https://blog.51cto.com/u_16183773/7800473

相关文章

  • 组合数学与计数复习(二轮加强)
    组合数学与计数复习前言:自从发现,每次打codeforces或者模拟赛,看到“方案数mod998244353”就直接跳过了,这一次为了突破此类题,所以专门对其进行复习。题单:(洛谷)链接硬核知识:加法原理和乘法原理感觉就是同类的是加和,互不影响的是乘法。这个东西常常应用在dp的转移上。容斥......
  • Educational Codeforces Round 156 A-D
    A.SumofThree思路1:1.把数拆成1,2,n-32.如果(n-3)%3==0,那么拆成1,4,n-5,可证明n-3如果可被3整除,那么再左移两位一定除不尽思路2:1.如果n是奇数,那么可取一个数为2,其他两数为相邻数,如果两数其中一位被整除,那么两者往外走2.如果n为偶,那么可取一个数为1,同理上点击查看代码#inclu......
  • sql复习
    /*数据库的基本业务认知数据库软件的认知和客户端工具认知数据库系统的认知数据库软件安装和环境搭建数据库常用的命令数据库用户和权限编码管理数据库管理表(权限,创建字段名类型约束表的修改删除)DML语句【最核心最重要】---操控数据ins......
  • Educational Codeforces Round 156 (Rated for Div. 2)
    Preface沉迷Galgame不打CF懒狗闪总出列!这场在大物课上口胡了前四个题,回去写了也都很顺,然后E题本来做不来的,看了眼昨天校队群里的消息就会做了F题什么东西直接弃A.SumofThree当\(n\bmod3\ne0\)时,用\((1,2,z)\)来凑;否则当\(n\bmod3=0\)时,用\((1,4,z)\)来凑#include<cst......
  • C语言编写的“猜数字“小游戏
    2023年10月7日,今天给大家带来的是用C语言编写的一个猜数字小游戏,使用了循环就可以完成  首先我们需要先做一个简单的目录,这样方便多次使用,增加了游戏的可玩性,看代码: 1voida_catalogue()2{3printf("************************************\n");4prin......
  • [CF1508D] Swap Pass
    D-SwapPass先将所有\(a_i==i\)的点都直接去掉考虑将\(i\)向\(a_i\)连边,那么就会形成一个个的环考虑只有一个环的情况,那么我们任意固定一个点\(x\),一直交换\(a_x\)与\(a_{a_x}\)直到\(a_x==x\),因为所有所有边都交于一点,所以这肯定是合法的但更普遍的情况是不止有一个环,那么......
  • [CF1158F]Density of subarrays
    F-Densityofsubarrays屲,平衡复杂度题首先考虑如何求一个序列的密度从最左端开始,找到需序列\(A[1...n]\)的最小段\(A[1...a_1]\),使其包含\(1\simc\)的所有颜色,然后又以\(a_1+1\)为起点,找下一个最短的包含\(1\simc\)的所有颜色的段,最后找到的这样的段的个数就是这个序列......
  • [CF1580D]Subsequence
    D-Subsequence发现\(f(i,j)\)不好处理,考虑将其转换成另一个函数考虑笛卡尔树,\(\min(a_i,a_{i+1},...,a_j)\)就是在笛卡尔树上,\(i\)和\(j\)的\(lca\)那么就可以将问题转移到笛卡尔树上,设\(dp[x][c]\)表示以\(x\)所处的子树中,选了\(c\)个的最大价值那么显然有:\[dp[x][i+j]=\m......
  • 洛谷P4158 [SCOI2009] 粉刷匠 题解
    所有的\(DP\),只要式子一推出来(不管复杂度),那就很简单了,因为优化是成千上万种的……思路1:我们考虑设\(f[i][j][k]\)表示:当前\(DP\)到第\(i\)块木板的第\(j\)个位置,共涂了\(k\)次,所能获得的最大收益。因为还要枚举当前这次涂是从哪到哪的,因此复杂度为\(O(NM^2T)\),实......
  • 《[ARC157C] YY Square》解题报告
    另解,不过也是\(dp\)。一个小套路,关于平方我们可以考虑他的组合意义。假如一条路径上有三个\(YY\)那么他的贡献是\((1+1+1)^2=(1+1+1)(1+1+1)\)相当于是从左右两边括号里各选一个\(1\)。所以实际上我们的贡献可以看成从\((1,1)\to(n,n)\)路径上中所有\(YY\)中任选......