C语言基础测试题
———- android培训、java培训、期待与您交流! ———-
本套题目只有10题算是让我想了好一阵子,第5题一般,剩下的都比较简单。好我们来看题:
题目1
1、 设有定义int a[]={1,3,5,7,9},*p=a;结果为7的表达式是(A)。
A) *(p+3)
B) *(p+4)
C) *p+3
D) *p+4
解析:
第一道题选A,p是指针p+3表示从int型的数组a的首地址偏移了3个int位,
也就是从下标0值1处偏移到下标3值7处
题目2
2、 以下对C程序的描述中正确的是(C)。
A) C程序总是从第一个定义的函数开始执行。
B) C程序总是从最后一个定义的函数开始执行。
C) C程序总是从main()函数开始执行。
D) C程序中的main()函数必须放在程序的开始部分。
解析: C程序总是从main()函数开始执行的。
题目3
3、 以下程序运行后的打印结果是 _20,0_(需要写上分析思路)
#include <stdio.h>
int main()
{
int x=10, y=20, t=0;
if (x==y) t=x; x=y; y=t;
printf("%d,%d\n",x,y);
return 0;
}
解析:
1、执行到if(x == y)时发现并不满足条件所以t=x;这条语句没有执行
2、接着执行x=y将y的值20赋值给了x
3、接着执行y=t将t的值0赋值给了y
所以此时打印该x y的值即为20,0
题目4
4、 语句“while(!x)…”等价于(C)。
A) while(x==1)
B) while(x!=1)
C) while(x==0)
D) while(x!=0)
解析: !x 等价于 x == 0
题目5
5、 从键盘输入一大堆字符串,统计A、B、C、D的出现次数,最后出现次数由高到低输出字母和出现次数。(C语言)
#include <stdio.h>
#include <string.h>
void my_sort(int * p, int len);
typedef struct mycount{
char c;
int count;
}my_count_t;
int main(int argc, const char * argv[]) {
// 声明变量并初始化
my_count_t mydata[4];
memset(mydata, 0, sizeof(mydata));
char tmp = 0;
// 接收字符串并统计
printf("请输入字符串,每输入一个enter表示之前的是一个字符串,当键入惊叹号“!”并键入enter