1.下列哪个不是C语言内置的数据类型(C)
A.char B.double C.struct Stu D.short
解析:C语言数据类型有内置和自定义
内置:char short int long long long float double...
自定义:struct...
2.局部变量的作用域(D)
A.main函数内部 B.整个程序 C.main函数之前 D.局部变量所在的局部范围
3.下面代码输出的结果是(B)
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int num = 10; int main() { int num = 1; printf("num=%d\n", num); return 0; }
A.程序有问题,不能编译 B.输出1 C.输出10 D.输出0
解析:局部变量优先原则
4.小飞机:利用printf在屏幕上输出信息
#include <stdio.h> int main() { printf(" ** \n"); printf(" ** \n"); printf("************\n"); printf("************\n"); printf(" * * \n"); printf(" * * \n"); return 0; }
5.输出学生信息
描述:学生信息管理系统是学校教学管理的重要工具,现有一名学生基本信息如下:姓名-Anna,年龄-20,性别-Woman,请按照输出样例的格式输出该学生的信息。
输出描述:输出分为三行,分别为标题行,分隔行,信息行
第一行,标题行,每个标题之间间隔4个空格
第二行,分隔行,一共21个减号“-”
第三行,信息行,每列输出信息和标题首字母对齐,输出样例如下:
Name Age Gender
--------------------------------
Anna 18 Woman
#include <stdio.h> int main() { printf("Name Age Gender\n"); printf("--------------------------\n"); printf("Anna 18 Woman\n"); return 0; }
6.发布信息
描述:你的手机丢了,在屏幕上输出信息告诉大家
输出描述:I lost my telephone!
#include <stdio.h> int main() { printf("I lost my telephone!\n"); return 0; }
7.计算表达式的值
描述:请计算表达式“(-8+22)*a-10+c/2”,其中,a=40,c=212
输出描述:(-8+22)*a-10+c/2计算之后的结果,为一个整数
#include <stdio.h> int main() { int a = 40; int c = 212; int sum = (-8 + 22) * a - 10 + c / 2; printf("%d\n", sum);//656 return 0; }
8.字符串的结束标志是(C)
A.'0' B.EOF C.'\0' D.空格
区分:
0:数字0
'0':字符0 ASCII码值为48
'\0':字符 ASCII码值为0
EOF:end of file文件的结束标志 值为1
9.关于数组的描述错误的是(B)
A.数组是一组相同类型元素的集合 B.数组的下标是从1开始的
C.数组的下标是从0开始的 D.数组如果初始化,可以不指定数组的大小
补充:数组如果初始化,可以不指定数组的大小
//9.数组初始化,可以不指定数组的大小
#include <stdio.h>
int main()
{
int arr1[10];//10个元素
int arr2[] = { 1,2,3 };//3个元素
return 0;
}
10.下面程序的结果是()
//10.转义字符 #include <stdio.h> #include <string.h> int main() { printf("%d\n", strlen("c:\test\121"));//7 return 0; }
11.下面哪个不是转义字符(C)
A.'\n' B.'\060' C.'\q' D.'\b'
12.下面代码的结果是(C)
//12.字符结束标志\0 #include <stdio.h> #include <string.h> int main() { char arr[] = { 'b','i','t' }; printf("%d\n", strlen(arr)); return 0; }
A.3 B.4 C.随机值 D.5
解析:在我们定义数组时,计算机会随机开辟一片空间,而这片内存后面是否存入东西我们不知道,由于字符串自带结束标志,所以在运行时遇到\0就停止了,但是arr2中没有结束标志,因此会继续运行后面的东西直到遇到\0才会停止
补充:不完全初始化,剩余的部分默认初始化为0
#include <stdio.h>
#include <string.h>
int main()
{
char arr[4] = { 'b','i','t' };
printf("%d\n", strlen(arr));//3:不完全初始化,剩余的部分默认初始化为0
return 0;
}
13.C语言中下面哪个数组的创建是错误的(B)
A.int arr[10] = {0} B.int n = 10; int arr[n]={0}
C.int arr[] = {1,2,3,4,5,6,7,8,9,0} D.char ah[10] = "hello world"
补充:
在C99标准之前,数组的大小都使用常量或者常量表达式来指定
在C99标准之后,支持了变长数组,这个时候允许数组的大小是变量,但是这种指定方式的数组是不能初始化的
(VS对C99中的一些语法支持不是很好,不支持变长数组的)
14.求两个数的较大值
题目内容:写一个函数求两个整数的较大值
如:输入:10 20 输出较大值:20
//14.求两个数的较大值 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int Max(int x,int y) { if (x > y) return x; else return y; } int main() { int a = 0; int b = 0; scanf("%d%d", &a,&b); int r = Max(a, b); printf("%d\n", r); return 0; }
15.计算y的值
描述:已知一个函数y=f(x),当x<0时,y=-1;当x=0时,y=0;当x>0时,y=1
输入描述:一行,输入一个整数x(-10000<x<10000)
输出描述:一行,输出y的值
实例:输入:10 输出:1 输入:-10 输出:-1
//15.计算y的值:已知一个函数y = f(x),当x < 0时,y = -1;当x = 0时,y = 0;当x>0时,y = 1 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { int x = 0; int y = 0; scanf("%d", &x); if (x < 0) y = -1; else if (x == 0) y = 0; else y = 1; printf("%d\n", y); return 0; }