0% found this document useful (0 votes)
4 views

C Programming Strings

The document explains how to work with strings in C programming, including declaration, initialization, and reading strings from user input. It covers functions like scanf() and fgets() for input, and common string functions such as strlen(), strcpy(), strcmp(), and strcat(). Additionally, it provides examples for finding character frequency and counting vowels, consonants, digits, and spaces in a string.

Uploaded by

Anik Dutta
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

C Programming Strings

The document explains how to work with strings in C programming, including declaration, initialization, and reading strings from user input. It covers functions like scanf() and fgets() for input, and common string functions such as strlen(), strcpy(), strcmp(), and strcat(). Additionally, it provides examples for finding character frequency and counting vowels, consonants, digits, and spaces in a string.

Uploaded by

Anik Dutta
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

C Programming Strings

In C programming, a string is a sequence of characters terminated with a


null character \0 . For example:

char c[] = "c string";

When the compiler encounters a sequence of characters enclosed in the


double quotation marks, it appends a null character \0 at the end by
default.

How to declare a string?

Here's how you can declare strings:

char s[5];

String Declaration in C

Here, we have declared a string of 5 characters.

How to initialize strings?

You can initialize strings in a number of ways.

char c[] = "abcd";

char c[50] = "abcd";


char c[] = {'a', 'b', 'c', 'd', '\0'};

char c[5] = {'a', 'b', 'c', 'd', '\0'};

Let's take another example:

char c[5] = "abcde";

Here, we are trying to assign 6 characters (the last character is '\0' ) to


a char array having 5 characters. This is bad and you should never do this.

Read String from the user

You can use the scanf() function to read a string.


The scanf() function reads the sequence of characters until it
encounters whitespace (space, newline, tab, etc.).

Example 1: scanf() to read a string

#include <stdio.h>
int main()
{
char name[20];
printf("Enter name: ");
scanf("%s", name);
printf("Your name is %s.", name);
return 0;
}
Output

Enter name: Dennis Ritchie


Your name is Dennis.

Even though Dennis Ritchie was entered in the above program,


only "Dennis" was stored in the name string. It's because there was a space
after Dennis .

How to read a line of text?

You can use the fgets() function to read a line of string. And, you can
use puts() to display the string.

Example 2: fgets() and puts()

#include <stdio.h>
int main()
{
char name[30];
printf("Enter name: ");
fgets(name, sizeof(name), stdin); // read string
printf("Name: ");
puts(name); // display string
return 0;
}

Output

Enter name: Tom Hanks


Name: Tom Hanks

Here, we have used fgets() function to read a string from the user.
fgets(name, sizeof(name), stdlin); // read string

The sizeof(name) results to 30. Hence, we can take a maximum of 30


characters as input which is the size of the name string.
To print the string, we have used puts(name); .

Note: The gets() function can also be to take input from the user. However,
it is removed from the C standard.

It's because gets() allows you to input any length of characters. Hence,
there might be a buffer overflow.

Commonly Used String Functions

• strlen() - calculates the length of a string


• strcpy() - copies a string to another
• strcmp() - compares two strings
• strcat() - concatenates two strings

Find the Frequency of a Character

#include <stdio.h>
int main() {
char str[1000], ch;
int count = 0;

printf("Enter a string: ");


fgets(str, sizeof(str), stdin);

printf("Enter a character to find its frequency: ");


scanf("%c", &ch);

for (int i = 0; str[i] != '\0'; ++i) {


if (ch == str[i])
++count;
}

printf("Frequency of %c = %d", ch, count);


return 0;
}
Output

Enter a string: This website is awesome.


Enter a character to find its frequency: e
Frequency of e = 4

Program to count vowels, consonants etc.

#include <stdio.h>
int main() {
char line[150];
int vowels, consonant, digit, space;

vowels = consonant = digit = space = 0;

printf("Enter a line of string: ");


fgets(line, sizeof(line), stdin);

for (int i = 0; line[i] != '\0'; ++i) {


if (line[i] == 'a' || line[i] == 'e' || line[i] == 'i' ||
line[i] == 'o' || line[i] == 'u' || line[i] == 'A' ||
line[i] == 'E' || line[i] == 'I' || line[i] == 'O' ||
line[i] == 'U') {
++vowels;
} else if ((line[i] >= 'a' && line[i] <= 'z') || (line[i] >= 'A' &&
line[i] <= 'Z')) {
++consonant;
} else if (line[i] >= '0' && line[i] <= '9') {
++digit;
} else if (line[i] == ' ') {
++space;
}
}

printf("Vowels: %d", vowels);


printf("\nConsonants: %d", consonant);
printf("\nDigits: %d", digit);
printf("\nWhite spaces: %d", space);
return 0;
}
Output

Enter a line of string: adfslkj34 34lkj343 34lk


Vowels: 1
Consonants: 11
Digits: 9
White spaces: 2

You might also like