1
2
3
#include <stdio.h>
#include <string.h>
int main()
{
printf("%d\n", strlen("c:\test\121"));
return 0;
}
4
#include <stdio.h>
#include <string.h>
int main()
{
char arr[] = {
'b', 'i', 't'};
printf("%d\n", strlen(arr));
return 0;
}
5
6
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
if(n%5==0)
printf("YES\n");
else
printf("NO\n");
return 0;
}
7
#include <stdio.h>
int main()
{
int sec = 0;
scanf("%d", &sec);
int h = sec/60/60;
int m = sec/60%60;
int s = sec%60;
printf("%d %d %d\n", h,m,s);
return 0;
}
8
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
int m = a/b;
int n = a%b;
printf("%d %d\n", m, n);
return 0;
}
9
#include <stdio.h>
int main()
{
int a = 40;
int c = 212;
int ret = (-8+22)*a-10+c/2;
printf("%d\n", ret);
return 0;
}
10
11
12
/*
解题思路:本题目主要是考察函数的声明定义,题目比较简单,请参考以下实现。
*/
int get_max(int x, int y)
{
if(x > y)
return x;
else
return y;
}
int main()
{
int num1 = 10;
int num2 = 20;
scanf("%d%d", &num1, &num2);
//要求:完成get_max函数
int max = get_max(num1, num2);
printf("max = %d\n", max);
return 0;
}
13
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
printf("%d\n", n/12*4+2);
return 0;
}
14
//代码1
#include <stdio.h>
int main()
{
int ret = printf("Hello world!");
printf("\n");
printf("%d\n", ret);
return 0;
}
//代码2
#include <stdio.h>
int main()
{
printf("\n%d\n", printf("Hello world!"));
return 0;
}
15
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
int c = 0;
while(~scanf("%d %d %d", &a, &b, &c))
{
if((a+b>c) && (a+c>b) && (b+c>a))
{
//三角形
if(a==b && b==c)//等边三角形
{
printf("Equilateral triangle!\n");
}
else if(((a==b)&&(b!=c)) || ((a==c)&&(c!=b)) || ((b==c)&&(c!=a)))//等腰
{
printf("Isosceles triangle!\n");
}
else
{
printf("Ordinary triangle!\n");
}
}
else
{
//不是三角形
printf("Not a triangle!\n");
}
}
return 0;
}
16
#include <stdio.h>
int main()
{
int weight = 0;
int height = 0;
double bmi = 0.0;
scanf("%d%d", &weight, &height);
bmi = weight/((double)height*height/10000);
printf("%.2lf\n", bmi);
return 0;
}
17
关于C语言关键字说法正确的是
A.关键字可以自己创建
B.关键字不能自己创建
C.关键字可以做变量名
D.typedef不是关键字
答案解析:
C语言关键字:C语言定义的,具有特定含义、专门用于特殊用途的C语言标识符,也称为保留字
A:错误,关键字是语言自身定义的
B:正确
C:错误,关键字具有特殊含义,不能作为变量名
D:错误,typedef是用来给类型取别名的关键字
因此,选择B
18
关于static说法不正确的是
A.static可以修饰局部变量
B.static可以修全局变量
C.static修饰的变量不能改变
D.static可以修饰函数
答案解析:本题主要考察static的特性
-
static修饰变量
**a. 函数中局部变量:
声明周期延长:该变量不随函数结束而结束
初始化:只在第一次调用该函数时进行初始化
记忆性:后序调用时,该变量使用前一次函数调用完成之后保存的值
存储位置:不会存储在栈上,放在数据段
b. 全局变量
改变该变量的链接属性,让该变量具有文件作用域,即只能在当前文件中使用
c. 修饰变量时,没有被初始化时会被自动初始化为0 -
static修饰函数
改变该函数的链接属性,让该函数具有文件作用域,即只能在当前文件中使用
A:正确,原因参考上述注解
B:正确,原因参考上述注解
C:错误,const修饰的变量不能改变
D:正确,原因参考上述注解**
因此:选择C
19
下面代码的结果是什么?
#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));
}
}
答案解析:
本题主要考察static修饰局部变量的特性,static修饰局部变量,该变量不会随函数的结束而消失,并且只在第一次调用时进行初始化,后序调用该函数时,使用的都是上次结束前该变量的值。
第一次循环:a=2 b=5 c=1 a+b+c=8
第二次循环:a=2 b=7 c=1 a+b+c=10
第二次循环:a=2 b=9 c=1 a+b+c=12
第二次循环:a=2 b=11 c=1 a+b+c=14
第二次循环:a=2 b=13 c=1 a+b+c=16
因此:选择B
20
用在switch语言中的关键字不包含哪个?
A.continue
B.break
C.default
D.case
答案解析:
switch是用来进行多分支选择的语句,一般结构是:
switch(变量表达式)
{
case xx1:
// …
break;
case xx2
// …
break;
default:
// …
}
当变量表达式的内容与某个case后的常量相等后,就执行该case下的语句,break表示该case以后的内容不会执行,如果没有跟break,会继续执行当前case之后的case分支。
当变量表达式的内容没有与那个case匹配,就会执行default下的内容。
switch中常用的关键字:case 、break、 default,当然case中语句比较复杂时,可能会用if进行判断。
continue是用来结束本次循环的,而switch不是循环,因此其中不能使用continue关键字。
因此:选择A