四川成都具体地址有哪些,泉州网站优化排名,北京网站优化 卓立海创,网易企业邮箱输入完整的邮箱地址怎么填写目录
第一题
第二题
第三题
第四题
第五题 大家好#xff0c;我是纪宁。 从今天开始博主会日更一些经典的C语言笔试题#xff0c;持续20天左右。题目类型为5道选择题加2道编程题#xff0c;希望能和大家一起进步。
第一题
1.读程序#xff0c;下面程序正确的输出是我是纪宁。 从今天开始博主会日更一些经典的C语言笔试题持续20天左右。题目类型为5道选择题加2道编程题希望能和大家一起进步。
第一题
1.读程序下面程序正确的输出是
#includestdio.h
int x 5, y 7;
void swap()
{int z;z x;x y;y z;
}
int main()
{int x 3, y 8;swap();printf(%d,%d\n,x, y);return 0;
} A: 5,7 B: 7,5 C: 3,8 D: 8,3 swap函数调用时用的是全局变量主函数中定义的变量只在主函数中有效因为主函数也是一个函数它与其他函数是平 行关系输出语句这里考虑局部优先的原则。所以答案选 C
知识点
C语言函数详解http://t.csdn.cn/wkkmF
第二题
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选项考察转义字符的应用 \ddd ddd表示1到3个八进制数 如\130 转义为 字符X \xhh hh表示1到2位十六进制数 如 \x30 转义为 字符‘0’ 选项B第三个字符中 \ 后没有 x 故表示8进制数但8进制数的范围是 0~7故 B 不对选 B
第三题
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 这道题考察 #define定义的替换和类型的重命名。 INT_PTR 在预处理阶段被替换为了 int* 语法规则上讲它的 * 只会被 a 使用b的类型就变为了 int 型而typedef 却是对类型进行重定义它后面的 c d 的类型就都是 int*类型。 所以答案选 A,C,D
知识点
C环境及预处理http://t.csdn.cn/6fP4a
第四题
4、编程题打印从1到最大的n位数
题目描述 输入数字 n按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3则打印出 1、2、3 一直到最大的 3 位数 999。 1. 用返回一个整数列表来代替打印 2. n 为正整数0 n 5 知识点
C语言for循环http://t.csdn.cn/0xvjx 示例 输入 1 返回值 [1,2,3,4,5,6,7,8,9] 这道题牛客网上采用核心代码模式 //* param n int整型 最大位数//* return int整型一维数组//* return int* returnSize 返回数组行数
int* printNumbers(int n, int* returnSize ) {int Max0;while(n--)MaxMax*109;int *arr(int*)malloc(Max*sizeof(int));for(int i0;iMax;i){arr[i]i1;}*returnSizeMax;return arr;
} 其中 returnSize 是打印的数字的个数而需要返回数组首元素的地址。 第五题
5、编程题 计算日期到天数转换
描述根据输入的日期计算是这一年的第几天且保证年份为4位数且日期合法。时间复杂度O(n) 空间复杂度O(1) 。
输入描述输入一行每行空格分割分别是年月日
输出描述输出是这一年的第几天 示例1 输入2012 12 31 输出366 示例2 输入1982 3 4 输出6 C语言操作符详解 中 逻辑操作符 部分有如何求出闰年的方法
本题牛客网采用ACM模式
#include stdio.h
int main() {int year0,month0,day0;scanf(%d %d %d,year,month,day);int arr1[11]{31,29,31,30,31,30,31,31,30,31,30};int arr2[11]{31,28,31,30,31,30,31,31,30,31,30};int days0;if((year%40year%100!0)||(year%4000)){for(int i0;imonth-1;i){daysarr1[i];}}else{for(int i0;imonth-1;i){daysarr2[i];}}daysday;printf(%d,days);return 0;
} 思路就是先开辟两个数组空间然后判断年份是否为闰年将月份天数利用循环逐个加上即可。