【初识C语言】作业总结

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;
}

  • 25
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值