有关c语言编程
有关C语言编程
统计代码“行数”
对于统计代码“行数”,行数不包括空白行和注释行。程序改进如下:
while(fgets (mystring , 100 , fp)!=NULL)//按字符串读入mystring,最多读入长度100
{
if (fp == NULL) printf("Error opening file");
else
{
if(mystring[0]=='/' && mystring[1]=='*')//判断开头有没有/*
{
while(mystring[strlen(mystring)-1]!='*' && mystring[strlen(mystring)-2]!='/')//开头有/*就进入循环不断读取,
//直到读到*/,这样这一段都不会被记入
{
fgets(mystring,100,fp);
}
fgets(mystring,100,fp);
}
hangshu+=judge(mystring);
}
}
这是判断//和空行的函数
int judge(char mystring[]){
if(strcmp(mystring,"\n") && (mystring[0]!='/' && mystring[1]!='/'))//如果读入的这行第一第二个字符不是‘\\’,不是空行就记入
{
return 1;
}
return 0;
}

这个c++文件一共345行,亲自数了数空白行和注释行,减掉之后的确是269行。
char ((x[4])())[4]这个声明中的x是什么
参考了ZTE笔试中的char ((x[3])())[5]解释
分析如下:
- x[4]:x是四个元素的数组
- (x[4])():x是4个元素的数组,元素是函数的返回值
- char ((x[4])())[4]:x是四个元素的数组,元素是函数的返回值,又是char数组的数组名。
数组复制,查找,排序C有相关库函数
- C语言里只有字符数组存在库函数strcpy可以进行字符串复制,其它数组没有。
#include <stdio.h>
#include <string.h>
int main()
{
//字符数组复制
char string[100];
strcpy(string,"I am a student.");
puts(string);
return 0;
}

2.查找、排序的C语言相关库函数,参考数据结构与算法-----搜索和排序(C语言库函数的使用)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int cmpInt(const void *a,const void *b)
{
return *(const int*)a - *(const int*)b;
}
int main()
{
int i,j,num,size,searchNum;
int *ip;
/*对数字进行排序和搜索*/
int Int[100];
for(i=0;i<100;i++)
{
scanf("%d",&Int[i]);
if(Int[i]==-1)
break;
}
num=i;//数组中元素数量
size=sizeof(Int[0]);//每一元素大小
qsort(Int,num,size,cmpInt);//快排法排列数组
for(i=0;i<num;i++)
printf("[%d] ",Int[i]);
printf("\n");
printf("Pls input the search num:");
scanf("%d",&searchNum);
ip=bsearch(&searchNum,Int,num,size,cmpInt);/*此处为重点,传入的是欲查找关键数据的地址;找到关键数据返回地址*/
(ip==NULL)?puts("Not Found"):puts("Found");
return 0;
}

有关c语言编程的更多相关文章
- C语言编程实现Linux命令——who
C语言编程实现Linux命令--who 实践分析过程 who命令是查询当前登录的每个用户,它的输出包括用户名.终端类型.登录日期及远程主机,在Linux系统中输入who命令输出如下: 我们先man一下 ...
- 个人c语言编程风格总结
总结一下我个人的编程风格及这样做的原因吧,其实是为了给实验室写一个统一的C语言编程规范才写的.首先声明,我下面提到的编程规范,是自己给自己定的,不是c语言里面规定的. 一件事情,做成和做好中间可能隔了 ...
- Linux下C语言编程实现spwd函数
Linux下C语言编程实现spwd函数 介绍 spwd函数 功能:显示当前目录路径 实现:通过编译执行该代码,可在终端中输出当前路径 代码实现 代码链接 代码托管链接:spwd.c 所需结构体.函数. ...
- 混合语言编程:启用CLR(公共语言运行时编译)让C#调用C++
前言 关于混合C#和C++的编程方式,本人之前写过一篇博客(参见混合语言编程:C#使用原生的Directx和OpenGL),在之前的博客中,介绍了在C#的Winform和WPF下使用原生的Direct ...
- Linux基础与Linux下C语言编程基础
Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有 ...
- LINUX下C语言编程基础
实验二 Linux下C语言编程基础 一.实验目的 1. 熟悉Linux系统下的开发环境 2. 熟悉vi的基本操作 3. 熟悉gcc编译器的基本原理 4. 熟练使用gcc编译器的常用选项 5 .熟练使用 ...
- 第二章 C语言编程实践
上章回顾 宏定义特点和注意细节 条件编译特点和主要用处 文件包含的路径查询规则 C语言扩展宏定义的用法 第二章 第二章 C语言编程实践 C语言编程实践 预习检查 异或的运算符是什么 宏定义最主要的特点 ...
- 华为C语言编程规范
DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd ...
- 9 本免费的 Python 语言编程书籍(转载)
9 本免费的 Python 语言编程书籍 原文地址:http://linuxtoy.org/archives/9-free-python-books.html 2010-03-03 Toy Poste ...
- linux 操作系统下c语言编程入门
2)Linux程序设计入门--进程介绍 3)Linux程序设计入门--文件操作 4)Linux程序设计入门--时间概念 5)Linux程序设计入门--信号处理 6)Linux程序设计入门--消息管理 ...
随机推荐
- Kubernetes PV/PVC使用实践
转载于https://www.cnblogs.com/ericnie/p/7733281.html pv,pvc的概念不解释了,之前在registry中已经使用过PV和PVC,现在想把WebLog ...
- Rstudio常用快捷键
多行注释 ctrl+shift+c 运行单行或选中代码 ctrl+enter 查看帮助 F1
- 在Vista操作系统中通过manifest文件使VC应用程序获得管理员权限
原文 VC编译出来的应用程序在vista下运行,有可能因为权限问题,不能成功运行. 用以下办法,给应用程序添加一个manifest文件,程序运行时系统就会跳出UAC对话框,获得管理权限. 1.打开应用 ...
- twitter——数据连接
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003 ...
- day13 类的补充
访问修饰符 同包 不同包 本类 子类 非子类 子类 ...
- 两步建立 ssh 反向隧道
因为需要在寝室访问实验室的内部网络,刚好自己购买了阿里云,因此,可以远端干活了,mark下方法: 第一步:在内网的服务器上,使用ssh 命令建立反向隧道 publicUserName@publicIp ...
- vue 脚手架使用
1. npm指令 vue init 模板类型 项目名称 如: vue init webpack-simple mydemo 2.进入刚才生产的 文件夹 mydemo cd mydemo 3.初始化 ...
- SQL语句(二十一)—— 触发器(DML触发器)
触发器 一 .触发器概述(特殊的存储过程) 定义: 在修改指定表值的数据时执行的 存储过程. 不同的是 : 执行存储过程要使用EXEC语句来调用,而触发器的执行不需要使用EXEC语句来调用. 作用: ...
- 经典Dialog插件Layer
Github上只有一个test,所以最好还是到官网去学习,官网的示例写的很详尽,难得一见的设计思路和灵活性都极好的插件.下面是我自己test过的demo <!DOCTYPE html> & ...
- 环境变量ANDROID_SDK_HOME的作用
默认情况下,开发者创建的AVD(Android Virtual Device)存放在家目录的.android下. 如果是Linux,其路径就是 /home/<your_user_name> ...