C语言学习记录
文章平均质量分 53
瑟瑟发抖的可乐
一名正在努力学习c语言的乖孩子
展开
-
【牛客网】每天刷题--第十一天
目录1.设有定义: double array[10]; 表达式 sizeof(array)/sizeof(array[0])的结果是 array数组中元素个数。说法是否正确?2.在以下程序段中,若从键盘输入:abc def↙,则输出结果是( )3.对于 32 位机器,则下面代码输出结果为()4.用calloc函数创建具有10个整型元素的动态存储空间的正确调用是()。5.上下文及头文件均正常的情况下,以下程序的输出结果是________。6.下面函数的时间复杂度是7.运行下...原创 2022-05-06 19:00:28 · 1675 阅读 · 0 评论 -
【牛客网】每天刷题--第十天
一.以下程序段的输出结果为( )for(int i = 4; i > 1; i--) for(int j = 1; j < i; j++) putchar('#');答案:######解析: i=4 j=1 # j=2 # j=3 # j=4...原创 2022-05-05 19:51:38 · 1172 阅读 · 1 评论 -
【牛客网】每天刷题--第九天
目录1有.以下代码段2.下列程序,若输入字符串abc,则函数f的功能是将字符串abc转换为*abc输出,请为横线处选择合适的程序( )3. 以下定义中,指向数组的指针P的是()4.在一个16位的机器,以下结构由于边界对齐浪费了多少空间()5.若一个类中含有纯虚函数,则该类称为()6.以下关于指针的说法,正确的是()7.程序的输出是()8.在Windows 32位操作系统中,假设字节对齐为4,对于一个空的类A,sizeof(A)的值为()?9.下面有关new/del...原创 2022-05-04 18:41:49 · 1729 阅读 · 2 评论 -
【牛客网】每天刷题--第八天
1.有以下代码:struct A{ bool b; int arr[2]; int i; int j;};int main(){ A a; a.b = false; a.arr[0] = 1; a.arr[1] = 2; a.i = 20; a.j = 30; *(a.arr + 1) = 40; A *p = 0; unsigned int q = (unsigned int)(&原创 2022-05-03 17:53:33 · 743 阅读 · 0 评论 -
编程实现输入某班学生某门课的成绩(每班人数最多不超过40人),计算输出最高分及相应学生的学号。
程序源代码如下:#include<stdio.h>#define N 40void FindMax(int score[], long num[], int n, int pMaxScore, long pMaxNum);int main(void){ int score[N], maxScore; int n, i; long num[N], maxNum; printf("How many students?"); scanf("%d", &n); prin原创 2022-05-02 20:49:04 · 4028 阅读 · 0 评论 -
【牛客网】每天刷题--第七天
目录1.已知 int i=3; 下面 do_while 语句循环次数为()2. 下列关于C/C++的宏定义的说法中,不正确的是:3.下面程序段的运行结果是()4.如下c++程序5.以下程序的输出是()6.下列程序输出的 * 个数是()1.已知 int i=3; 下面 do_while 语句循环次数为()do { i--; cout << i << endl;} while (i != 1);答案:2解析:cou原创 2022-05-02 20:17:42 · 2434 阅读 · 1 评论 -
C语言学习笔记(十一)--字符串--Part1
前言本章内容介绍向函数传递字符串以及字符串输入/输出、复制、连接等常用的字符串处理操作,主要内容有:字符串字面量,字符数组和字符指针,字符串的输入/输出、复制、连接、比较等常用的字符串处理函数,向函数传递字符串,从函数返回一个字符串指针一.字符串字面量字符串字面量有时也称字符串常量,它是由一对双引号括起来的一个字符序列,如"Hello","123"都是字符串。无论双引号内是否包含字符,包含多少个字符,都代表一个字符串字面量。注意:字符串字面量不同于字符串常量。例如:"a"是字符串字面量,而'a原创 2022-05-02 19:57:50 · 817 阅读 · 1 评论 -
【牛客网】每天刷题--第六天
目录1.当 n = 6 时,函数的返回值是()2. 判断字符串a是否大于b,应当使用( )3.在c语言程序中,当调用函数时,正确的是()4.关于引用以下说法错误的是()。5.求下面程序段输出结果()6.下面程序段的输出是()1.当 n = 6 时,函数的返回值是()int foo(int n) { if (n < 2) return n; return foo(n - 1) + foo(n - 2);}答案:8解析:2. 判断字...原创 2022-05-01 16:57:07 · 1166 阅读 · 1 评论 -
C语言实现输入学号,分数计算总分和平均分
题目:某班期末考试科目为数学(MT)、英语(EN)和物理(PH),有最多不超过40人参加考试,请编程计算:(1).每个学生的平均分(2).每门课程的总分和平均分代码如下:#include<stdio.h>#define STUD_N 40 #define COURSE_N 3void ReadScore(int score[][COURSE_N], long nume[], int n);void AverforStud(int score[][COURSE_N], int s原创 2022-04-30 16:07:50 · 5702 阅读 · 2 评论 -
C语言学习笔记(九)--数组和算法基础
目录前言一.一维数组的定义和初始化二.二维数组的定义和初始化三.向函数传递一维数组四.排序1.交换法排序2.选择法排序五.查找1.线性查找2.折半查找六.向函数传递二维数组总结预告前言终于来到数组这部分,这部分开始,我个人认为C语言的难度就上来了,希望大家能认真学习,如果文章有问题,欢迎各位指出。本篇文章主要...原创 2022-04-30 10:03:24 · 626 阅读 · 0 评论 -
编程实现显示用户输入的月份拥有的天数
具体代码如下:#include<stdio.h>#define MONTHS 12int main(){ int days[MONTHS] = { 31,28,31,30,31,30,31,31,30,31,30,31 }; int month; do { printf("Input a month:"); scanf("%d", &month); } while (month < 1 || month>12); printf("The numb原创 2022-04-29 20:54:14 · 2910 阅读 · 1 评论 -
【牛客网】每天刷题--第五天
目录1.由于主函数首部经常缩写成main(),所以它不可能有形式参数。请问这句话的说法是正确的吗?2.C 语言本身有输入输出语句,这句话对吗?3 .以下叙述中正确的是()4.下面程序段中,for循环的执行次数是()5.下面表达式(本题数值均为十进制)的结果是()5.以下表达式选择结果是()6.在 32 位大端模式处理器上变量 b 等于()强度上来了啊,加油加油!!!1.由于主函数首部经常缩写成main(),所以它不可能有形式参数。请问这句话的说法是正确的吗?...原创 2022-04-29 16:55:48 · 1062 阅读 · 1 评论 -
【牛客网】每天刷题--第四天
目录1.有变量2.在上下文及头文件均正常的情况下,执行下面语句后的输出为()3.指出下列代码的缺陷()4.开发C代码时,经常见到如下类型的结构体定义:1.有变量struct{ char type; int num; char name[10];}rec;char是1字节,int是4字节,若按4字节对齐,那么sizeof(rec)等于()答案:20解析:struct {char type; ===>占一个字节i...原创 2022-04-28 19:06:06 · 522 阅读 · 1 评论 -
编程将输入的百分制成绩转换为五分制成绩输出
需要考虑输入数据边界点和临界点,也就是所谓的边界测试具体代码如下:#include<stdio.h>int main(void){ int score, mark; printf("Please enter score:"); sancf("%d", &score); mark = score < 0 || score>100 ? -1 : score / 10; switch (mark) { case 10: case 9:printf(原创 2022-04-27 16:20:43 · 5213 阅读 · 1 评论 -
【牛客网】每天刷题--第三天
1.int a=5,则 ++(a++)的值是?答案:编译出错解析:++ 是一目运算符,自增运算,它只能用于一个变量,即变量值自增1, 不能用于表达式。++(a++) 里,小括号优先。(a++) 是 表达式,按运算规则,不能对 表达式 作 自增运算2.考虑以下代码,fun(5)的结果为int fun (int n) { int x = 1, k; if (n == 1) return x; for(k = 1; k < n; ++k)原创 2022-04-26 21:00:15 · 625 阅读 · 2 评论 -
编写简单的计算器功能的程序
使用switch语句实现简单的加减乘除具体代码如下:#include<stdio.h>int main(){ int date1, date2; char op; printf("Please enter an expression:"); scanf("%d%c%d", &date1, &op, &date2); switch (op) { case '+': printf("%d+%d=%d\n", date1, date2,原创 2022-04-26 11:52:26 · 4642 阅读 · 4 评论 -
【牛客网】每天刷题--第二天
目录1.假定有语句“ int b[10], *pb; ”,则不正确的赋值为 ( )。2.下方代码运行后的结果是3.在上下文和头文件均正常的情况下,程序输出结果为A,正确还是错误?4.若二维数组a有m列,则在a[i][j]前的元素个数为5.设a为int型变量,执行下列赋值语句后,a的取值分别是()a=125.534; a=(int)125.521%4; a=5<<2;6.阅读以下程序,当输入数据的形式为12a345b789↙,正确的输出结果为()...原创 2022-04-25 22:30:27 · 1212 阅读 · 5 评论 -
编程计算并输出一元二次方程的根
目录一.无要求二.有要求:例题:从键盘上输入a,b,c的值,编程计算并输出一元二次方程的根一.无要求代码如下:#include<stdio.h>#include<math.h>int main(){double a, b, c, x1, x2;printf("请输入三个系数a,b,c\n");scanf("%lf,%lf,%lf", &a, &b, &c);x1 = (-b + sqrt(b * b原创 2022-04-25 21:54:30 · 6758 阅读 · 3 评论 -
二维数组——二分法举例
适用情况:在一批有序数据中查找某数思想:C语言中的二分法和我们数学上学习的二分法是一样的,找到一批数中间的一个数与所查数比较,看是否为你想找的数,如果不是,将找到的数和你需要找的数进行比较,判断在之前还是在之后,从而达到缩小一半范围的效果,之后用同样的方法在每个区域查找,知道你找到需要的数例题:假设,在数组中的数据是按从小到大的顺序排列的,从键盘上输入一个数,判断该数是否在数组中,如果在的话,则输出所在的序号。TIPS:设low,,mid,high这三个变量,分别指示数列中的起始元素,中间元原创 2022-04-23 08:23:11 · 399 阅读 · 1 评论 -
牛客网每日刷题----第一天
1.用户定义的函数不可以调用的函数是( )解析: main函数可以调用其他函数,但是不能被其他函数所调用。返回值可以由用户确定 本文件外利用extern关键字描述 本函数下面定义,但是可以在之前申明2.以下程序的输出结果是?#include <stdio.h>main() { char a[10] = {'1', '2', '3', '4', '5', '6', '7'...原创 2022-04-22 14:57:39 · 953 阅读 · 2 评论 -
编程实现输入一个字符串,分别统计其中每个数字,空格,字母及其他字符出现的次数。
要求:1.判断每个字符是否是数字,空格,大小写字母或其他字符,用循环实现2.要求统计每个数字出现的次数,而不是统计数字出现的总次数#include<stdio.h>int main(void){ char s[100]; int dx = 0, ZiMu = 0, KongGe = 0, ShuZi = 0, QiTa = 0, i; gets(s); for (i = 0; s[i] != '\0'; i++) { if (s[i] == ' ') {原创 2022-04-17 18:16:41 · 5103 阅读 · 2 评论 -
编程实现输入三角形的三条边长,判断能否构成三角形,如果能构成三角形,则计算三角形的面积并判断三角形的类型(锐角三角形、钝角三角形、直角三角形)。
可能不懂的地方:1.#define EPS 1e-1 这个是宏定义,把之后出现的EPS全部用1e-1替换,而1e单独用是不合法的,e后面必须跟数2. fabs () 函数用于求双精度浮点数的绝对值。而对应的abs()是求整数的绝对值#include<stdio.h>#include<math.h>#define EPS 1e-1int main(){ float a, b, c; printf("Input a,b,c:"); scanf("%f,%f原创 2022-04-05 10:24:36 · 10505 阅读 · 1 评论 -
【使用switch语句】 用C语言编程实现输入年、月、日,编程求这一日是该年中的第几天。
问题:实现输入年、月、日,编程求这一日是该年中的第几天。分析,解决:1.首先定义年,月,日2.输入年月日(注意scanf里有逗号),switch语句中的意思是看你输入几月份,然后再按照几日进行加减3.要考虑闰年的情况,判断是否为闰年,需要满足俩种条件(或的关系,满足一个即可),其一:能被4整除但不能被100整除,其二:能被400整除。4.最后输出就行,按照你们自己的输出习惯输出,这个是老师要求的,我自己感觉也不错#include<stdio.h>int main()原创 2022-04-03 22:18:40 · 5856 阅读 · 4 评论 -
【不用数组】编程实现输入四个整数,按从小到大顺序输出
问题:输入四个整数,按从小到大顺序输出分析:1.定义一个5个整型数,其中一个为temp(临时变量)。2.通过scanf语句来输入4个数。3.运用if语句来判断4个数的大小,也就是把每一个输入的数进行比较。4.最后输出即可。// 编程实现输入四个整数,要求按大小顺序输出。//if语句每次都把括号弄出来看的更直观(在小甲鱼视频里学的)#include<stdio.h>int main(){ int a, b, c, d, temp; scanf("%d %d %原创 2022-04-03 21:41:55 · 2945 阅读 · 1 评论