比较好的设计网站有哪些,网址站,凡科网网站建设,河南网站建设哪里有目录
一、选择题
二、编程题 #x1f388;个人主页#xff1a;库库的里昂 #x1f390;CSDN新晋作者 #x1f389;欢迎 #x1f44d;点赞✍评论⭐收藏✨收录专栏#xff1a;C语言每日一练 ✨其他专栏#xff1a;代码小游戏C语言初阶#x1f91d;希望作者的文章能对你…目录
一、选择题
二、编程题 个人主页库库的里昂 CSDN新晋作者 欢迎 点赞✍评论⭐收藏✨收录专栏C语言每日一练 ✨其他专栏代码小游戏C语言初阶希望作者的文章能对你有所帮助有不足的地方请在评论区留言指正大家一起学习交流 【前言】 在大家学完初阶C语言后有很多知识点是比较模糊的我们应该多刷题这样才能巩固我们所学知识。所以我开了一个新专栏C语言每日一刷每一篇都包含5道选择题2道编程题每一道题后面都会有详细的解析。这个系列每日一更大家来看看吧 一、选择题
1、执行下面程序正确的输出是
#includestdio.h
int x5,y7;
void swap()
{int z;zx;xy;yz;
}
int main()
{int x3,y8;swap();printf(%d,%d\n,x,y);return 0;
} A: 5,7 B: 7,5 C: 3,8 D: 8,3 【答案】C
【解析】 swap函数用的是全局的x和y但是不会发生交换 注意printf函数在进行输出的时候是就近原则的所以输出的x和y是main函数里面的而不是全局的x和y。输出语句这里考虑局部优先的原则故选C 2、以下不正确的定义语句是 A: double x[5] {2.0, 4.0, 6.0, 8.0, 10.0}; B: char c2[] {\x10, \xa, \8}; C: char c1[] {1,2,3,4,5}; D: int y[53]{0, 1, 3, 5, 7, 9};
【答案】B
【解析】 转义字符有如下格式但八进制数字是0-7没有8故B选项中’\8’是错误的 。 \ddd ddd表示1到3个八进制数 如\130 \xhh hh表示1到2位十六进制数 如\x30 3、 test.c 文件中包括如下语句文件中定义的四个变量中是指针类型的变量为【多选】
#define INT_PTR int*
typedef int* int_ptr;
INT_PTR a, b;
int_ptr c, d; A: a B: b C: c D: d 【答案】ACD
【解析】 因为#define是宏定义仅仅是直接替换,INT_PTR a, b; 进行宏替换后代码是这样的int *a, b;这里的int *是a的 类型b的类型是int故此次b只是int类型。而typedef是把该类型定义一个别名别名是一个独立的类型了使用这个类型创建的变量都是这个类型的。 所以 acd才是指针类型。 4、 若给定条件表达式 (M)?(a):(a--) 则其中表达式 M A: 和(M0)等价 B: 和(M1)等价 C: 和(M!0)等价 D: 和(M!1)等价 【答案】C
【解析】 给定条件表达式(M)?(a):(a--)。 (表达式1)? (表达式2): (表达式3)为三目运算符。 计算规则为先判断表达式1是否为真若为真则计算表达式2并将表达式2的结果作为整个表达式最终的结果表达式3不计算否则表达式3的结果为最终结果表达式2不计算。 在此表达式中若M0为假计算a--; 若M≠0为真计算a; 若要求与M等价则要满足M取0时为假取非0数值时为真。 c选项中假定M取0则M表示假当M是0时,表达式M!0不成立为假计算a--; 当M取非0数值时M为真表达式M!0成立为真计算a; 符合题意选C 5、有如下定义语句则正确的输入语句是【多选】
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正确 二、编程题
1.OJ链接【牛客网题号 JZ17 打印从1到最大的n位数】【难度入门】
输入数字 n按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3则打印出 1、2、3 一直到最大的 3 位数 999。
用返回一个整数列表来代替打印n 为正整数0 n 5 示例 输入1 返回值[1,2,3,4,5,6,7,8,9] static int a[100010];
int* printNumbers(int n, int* returnSize ) {int k 1;int i 0;for (int i 0; i n; i){k * 10;}for (i 1; i k; i){a[i - 1] i;}*returnSize --i;return a;
}
2.OJ链接【牛客网题号 HJ73 计算日期到天数转换】【难度简单】
根据输入的日期计算是这一年的第几天。输入保证年份为4位数且日期合法。
输入描述输入一行每行空格分割分别是年月日
输出描述输出是这一年的第几天 示例1 输入2012 12 31 输入1982 3 4 输出366 输出63 #includestdio.h
int main() {int year 0;int month 0;int day 0;scanf(%d %d %d, year, month, day);int d[12] { 31,28,31,30,31,30,31,31,30,31,30,31 };if ((year % 4 0 year % 100 ! 0) || (year % 400 0)){d[1] 29;}int count 0;for (int i 0; i month - 1; i){count d[i];}count day;printf(%d, count);return 0;
}
好了今天的每日一刷就到这里结束了感谢大家的观看