1.以下叙述正确的是(C) 错选D
A、 在C程序中,main函数必须位于程序的最前面
B 、C程序的每行中只能写一条语句
C、 C语言本身没有输入输出语句
D、 在对一个C程序进行编译的过程中,可发现注释中的拼写错误
题解:真的蛮简单的一道题,我居然写错了,也是离谱呀
单纯的C语言没有输入输出语句,这些输入输出语句都是一个又一个库组成的
就像常用的scanf和printf都是stdio.h库里面的
2.假定 x 和 y 为 double 型,则执行 x=2 ; y=x+3/2; 后y的值为(D)错选了A
A 3.500000
B 3
C 2.000000
D 3.000000
题解:看清楚题目呀,如果这题只想让你选3.500000的话,这也太简单了吧,事出反常必有妖呀
问你3/2等于多少?等于1呀,整数除法得到的就是整数的结果,1+2=3呀,又因为它是double型,
所以这题应该选D
3.以 下 for 循 环 的 执 行 次 数 是(C)。错选了B
for(x=0,y=0;(y=123)&&(x<4);x++);
A 、是无限循环
B 、循环次数不定
C 、4次
D 、3次
题解:大哥,看清楚呀,是没吃饭么,下次考试记得吃早餐,真的
这种失误就不应该存在你的字典里,如果是这种水平,怎么去腾讯呀,字节呀
人家是赋值语句呀,不是判断语句呀
4.若有定义语句: int year=1009 , *p=&year ;以下不能使变量 year 中的值增至 1010 的语句是(D)错选A
A、 *p+=1;
B、 (*p)++;
C、 ++(*p)
D、 *p++
直接看++的优先级更高,所以先执行++;这个代码翻译出来就是p++;*p
因为是int型要跳过四个字节,相当于地址往后移动4位
这道题是百度之后,才想出来的,都不能算自己写出来的,讲真话也是丢人
其实思路也不难,最主要是考试的环境其实不容易想到,这是最主要的
这里再写一次吧,就相当于回忆吧
这是我写的:
#include
int main()
{
int m, n, temp, i;
scanf_s("%d%d", &m, &n);
if (m < n)
{
temp = m;
m = n;
n = temp;
}
for (i = m; i > 0; i++)
if (i % m == 0 && i % n == 0)
{
printf("%d", i);
break;
}
return 0;
}
老师还写了简化的一板:
#include
int main()
{
int a = 0;
int b = 0;
scanf_s("%d %d", &a, &b);
int i = 1;
while (a * i % b)
{
i++;
}
printf("%d\n", i * a);
return 0;
}
最后一道编程题,完全没想出来,草
这道题属于完全不会的范畴,破防了属于是
#include
#include
void reverse(char* start, char* end)
{
char tmp = { 0 };
while (start < end)
{
tmp = *start;
*start = *end;
*end = tmp;
start++;
end--;
}
}
int main()
{
char arr[100] = { 0 };
gets_s(arr);
int len = strlen(arr);
int i = 0;
reverse(arr, arr + len - 1);
char* a = arr;
for (i = 0;i <= len;i++)
{
if (arr[i] == ' ' || arr[i] == '
')
{
reverse(a, arr + i - 1);
a = (arr + i + 1);
}
}
printf("%s", arr);
return 0;
}交换的思想是一点都没有,草,动点脑子呀,猪脑子
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)