五道选择题:
1、程序运行的结果为()
#include<stdio.h>
int main()
{
int pad = 0; int pAd = 0;
int sum = 5;
pad = 5;
pAd = (sum++,pAd++, ++pAd);
printf("%d %d\n", pAd,pad);
}
A、1,5 B、2,5 C、1,6 D、2,6
前置后置结果一致 ,证明可以看作独立区块
2、程序运行的结果为()
#include <stdio.h>
int sum(int a)
{
int c = 0;
static int b = 3;
c += 1;
b += 2;
return (a + b + c);
}
int main()
{
int i;
int a = 2;
for (i = 0; i < 5; i++)
{
printf("%d ", sum(a));
}
}
A、8 8 8 8 8 8 B、 9 11 13 15 17 C、10 12 14 16 18 20 D、8 10 12 14 16 18
3、关于if语句说法正确是( )
A、if语句后面只能跟一条语句
B、if语句中0表示假,1表示真,其他无意义
C、if语句时一种分支语句,可以实现单分支,也可以实现多分支
D、else语句总是和它的对其的if语句匹配
4、程序运行的结果为()
#include<stdio.h>
int func(int a)
{
int b;
switch (a)
{
case 1: b = 30;
case 2: b = 20;
case 3: b = 16;
default: b = 0;
}
return b;
}
int main()
{
int x=3
printf("%d",func(x));
}
A、 30 B、20 C、16 D、0
5、程序运行的结果为()
#include <stdio.h>
int main()
{
int a = 0, b = 0;
// for循环将a和b的初始值均设置为1
for (a = 1, b = 1; a <= 100; a++)
{
if (b >= 20) break;
if (b % 3 == 1)
{
b = b + 3;
continue;
}
b = b-5;
}
printf("%d\n", a);
return 0;
}
A、7 B、8 C、22 D、死循环
编程题1:
int main(int argc, char *argv[])
//这个参数不用看它,你就把它当作没有即可
{
int count[26]={0};
//分别储存26个字母的出现次数
char ch=0;
while((ch=getchar())!='\n')
{
count[ch-'a']++;
//对应字母-'a'可以得到对应的下标
}
int i=0;int max=0;int max_i=0;
for(i=0;i<26;i++)
{
if(count[i]>max)
{
max=count[i];//储存最多出现次数
max_i=i;//下标也储存
}
}
printf("%c\n%d",max_i+'a',max);
}
编程题2:
#include <stdio.h>
int main()
{
int i=0;int count=0;
for(i=1;i<=2020;i++)
{
int number=i;
while(number)
{
if(number%10==2)
{
count++;
}
number/=10;
}
}
printf("%d",count);
return 0;
}