提示:CL1初识C语言课后的一些题目笔记,记录在这里。
一、题目讲解1
1.下面哪个不是C语言的内置数据类型?
char是、double是、structStu不是、short是
2.局部变量的作用域是?
局部变量所在的局部范围
3.下面代码输出的结果是:1
#include <stdio.h>
int num = 10;
int main()
{
int num = 1;
printf("num=%d\n", num);
return 0;
}
二、题目讲解2
1.字符串的结束标志是:‘\0’
讲解:
区分’\0’、0、‘0’,其中\0是转义字符,他的ASCII值是0,
在数值上来讲和数字0等价,'0’字符0的ASCII值是48;
EOP:end of file 文件结束标志,本质是-1
2.下面代码的结果是:
因为是没有\0结束字符,所以是随机值;
int main()
{
char arr[] = { 'b','i','t'};
printf("%d\n", strlen(arr));
return 0;
}
3.下面那些不是转义字符?
‘\n’, ‘\060’, '\b’是;
'\q’不是
4.关于数组的描述错误的是什么
数组是一组相同类型元素的集合,正确
数组的下标是从1开始的,错误
数组的下标是从0开始的,正确
数组如果初始化,可以不指定数组的大小,正确
5.C语言中那些数组的创建是错误的
int arr[10] = { 0 };正确
int n = 10; int arr[n] = 0;错误
数组的大小只能用常量来指定,不能使用变量n来指定
int arr[] = { 1,2,3,4,5,6,7,8 };正确
开始没有指定大小,但是初始化数组的值,所以不需要指定大小
char ch[10] = “hello mf”;正确
6.下面程序的结果是:7
计算有多少个字符
#include <stdio.h>
#include <string.h>
int main()
{
printf("%d\n", strlen("c:\test\121"));
return 0;
}
7.写个函数来求两个数的较大值
int MAX(int x,int y)
{
if (x > y)
return x;
else
return y;
}
int main()
{
int num1 = 10;
int num2 = 20;
int max = 0;
max = MAX(num1, num2);
printf("MAX=%d\n", max);
return 0;
}
三、题目讲解3
1.关于C语言关键字说法正确的是:
关键字不可用自己创建
关键字不可以使用变量名
2.用switch语言中的关键字不包含哪个?
continue 不会出现 他是出现在循环中
出现:break default if
3.代码输出结果是什么?
#include <stdio.h>
int sum(int a)
{
int c = 0;
static int b = 3;
c += 1;//1,1,
b += 2;//5,7,
return (a + b + c);//8,10
}
int main()
{
int i;
int a = 2;
for (i = 0; i < 5; i++)
{
printf("%d\n", sum(a));
}
return 0;
}